Riepilogo :in questo tutorial imparerai come usare SQLite INSERT
istruzione per inserire nuove righe in una tabella.
Per inserire i dati in una tabella, usa INSERT
dichiarazione. SQLite fornisce varie forme di INSERT
istruzioni che consentono di inserire una singola riga, più righe e valori predefiniti in una tabella.
Inoltre, puoi inserire una riga in una tabella utilizzando i dati forniti da un SELECT
dichiarazione.
SQLite INSERT
– inserimento di una singola riga in una tabella
Per inserire una singola riga in una tabella, utilizza la seguente forma di INSERT
dichiarazione:
INSERT INTO table (column1,column2 ,..)
VALUES( value1, value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Esaminiamo il INSERT
dichiarazione in modo più dettagliato:
- In primo luogo, specifica il nome della tabella in cui vuoi inserire i dati dopo
INSERT INTO
parole chiave. - In secondo luogo, aggiungi un elenco di colonne separate da virgole dopo il nome della tabella. L'elenco delle colonne è facoltativo. Tuttavia, è buona norma includere l'elenco delle colonne dopo il nome della tabella.
- In terzo luogo, aggiungi un elenco di valori separati da virgole dopo
VALUES
parola chiave. Se si omette l'elenco delle colonne, è necessario specificare i valori per tutte le colonne nell'elenco dei valori. Il numero di valori nell'elenco di valori deve essere uguale al numero di colonne nell'elenco di colonne.
Useremo gli artists
tabella nel database di esempio per la dimostrazione.
La seguente istruzione inserisce una nuova riga in artists
tabella:
INSERT INTO artists (name)
VALUES('Bud Powell');
Code language: SQL (Structured Query Language) (sql)
Provalo
Perché l'ArtistId
colonna è una colonna con incremento automatico, puoi ignorarla nell'istruzione. SQLite genera automaticamente un numero intero sequenziale da inserire in ArtistId
colonna.
È possibile verificare l'operazione di inserimento utilizzando il seguente SELECT
dichiarazione:
SELECT
ArtistId,
Name
FROM
Artists
ORDER BY
ArtistId DESC
LIMIT 1;
Code language: SQL (Structured Query Language) (sql)
Provalo
Come vedi, abbiamo una nuova riga in artists
tabella.
SQLite INSERT
– Inserimento di più righe in una tabella
Per inserire più righe in una tabella, utilizza la seguente forma di INSERT
dichiarazione:
INSERT INTO table1 (column1,column2 ,..)
VALUES
(value1,value2 ,...),
(value1,value2 ,...),
...
(value1,value2 ,...);
Code language: SQL (Structured Query Language) (sql)
Ciascuna lista di valori che segue il VALUES
clausola è una riga che verrà inserita nella tabella.
L'esempio seguente inserisce tre righe in artists
tabella:
INSERT INTO artists (name)
VALUES
("Buddy Rich"),
("Candido"),
("Charlie Byrd");
Code language: SQL (Structured Query Language) (sql)
Provalo
SQLite ha emesso un messaggio:
Row Affected: 3
Puoi verificare il risultato utilizzando la seguente istruzione:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC
LIMIT 3;
Code language: SQL (Structured Query Language) (sql)
Provalo
SQLite INSERT
– Inserimento di valori predefiniti
Quando crei una nuova tabella usando CREATE TABLE
istruzione, puoi specificare i valori predefiniti per le colonne o un NULL
se non viene specificato un valore predefinito.
La terza forma di INSERT
l'istruzione è INSERT DEFAULT VALUES
, che inserisce una nuova riga in una tabella utilizzando i valori predefiniti specificati nella definizione di colonna o NULL
se il valore predefinito non è disponibile e la colonna non ha un NOT NULL
vincolo.
Ad esempio, la seguente istruzione inserisce una nuova riga in artists
tabella utilizzando INSERT DEFAULT VALUES
:
INSERT INTO artists DEFAULT VALUES;
Code language: SQL (Structured Query Language) (sql)
Provalo
Per verificare l'inserimento si utilizza la seguente istruzione:
SELECT
ArtistId,
Name
FROM
artists
ORDER BY
ArtistId DESC;
Code language: SQL (Structured Query Language) (sql)
Provalo
Il valore predefinito di ArtistId
colonna è il successivo intero sequenziale. Tuttavia, il name
la colonna non ha alcun valore predefinito, pertanto, INSERT DEFAULT VALUES
l'istruzione inserisce NULL
dentro.
SQLite INSERT
– Inserimento di nuove righe con i dati forniti da un SELECT
dichiarazione
Supponi di voler eseguire il backup degli artists
tabella, puoi seguire questi passaggi:
Innanzitutto, crea una nuova tabella denominata artists_backup
come segue:
CREATE TABLE artists_backup(
ArtistId INTEGER PRIMARY KEY AUTOINCREMENT,
Name NVARCHAR
);
Code language: SQL (Structured Query Language) (sql)
Provalo
Per inserire dati nel artists_backup
tabella con i dati degli artists
tabella, usi INSERT INTO SELECT
dichiarazione come segue:
INSERT INTO artists_backup
SELECT ArtistId, Name
FROM artists;
Code language: SQL (Structured Query Language) (sql)
Provalo
Se esegui una query sui dati da artists_backup
tabella, vedrai tutti i dati nella artists
tabella.
SELECT * FROM artists_backup;
Code language: SQL (Structured Query Language) (sql)
Provalo
In questo tutorial, hai imparato come utilizzare varie forme di SQLite INSERT
istruzione che inserisce nuove righe in una tabella.
Riferimenti
- https://www.sqlite.org/lang_insert.html – Istruzione SQLite INSERT