SQLite - INSERT Query

SQLite INSERT INTO L'istruzione viene utilizzata per aggiungere nuove righe di dati in una tabella nel database.

Sintassi

Di seguito sono riportate le due sintassi di base dell'istruzione INSERT INTO.

INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
VALUES (value1, value2, value3,...valueN);

Qui, colonna1, colonna2, ... colonnaN sono i nomi delle colonne nella tabella in cui si desidera inserire i dati.

Potrebbe non essere necessario specificare il nome delle colonne nella query SQLite se si stanno aggiungendo valori per tutte le colonne della tabella. Tuttavia, assicurati che l'ordine dei valori sia nello stesso ordine delle colonne nella tabella. La sintassi SQLite INSERT INTO sarebbe la seguente:

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

Esempio

Considera di aver già creato la tabella COMPANY nel tuo testDB.db come segue:

sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Ora, le seguenti istruzioni creerebbero sei record nella tabella AZIENDA.

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00 );

È possibile creare un record nella tabella AZIENDA utilizzando la seconda sintassi come segue:

INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00 );

Tutte le dichiarazioni di cui sopra creerebbero i seguenti record nella tabella AZIENDA. Nel prossimo capitolo imparerai come visualizzare tutti questi record da una tabella.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Popolare una tabella utilizzando un'altra tabella

È possibile inserire dati in una tabella tramite l'istruzione select su un'altra tabella, a condizione che un'altra tabella abbia un insieme di campi, necessari per popolare la prima tabella. Ecco la sintassi:

INSERT INTO first_table_name [(column1, column2, ... columnN)] 
   SELECT column1, column2, ...columnN 
   FROM second_table_name
   [WHERE condition];

Per ora, puoi saltare la dichiarazione di cui sopra. Per prima cosa, impariamo le clausole SELECT e WHERE che saranno trattate nei capitoli successivi.