Riepilogo: in questo tutorial imparerai come utilizzare listruzione SQL INSERT per inserire dati nelle tabelle.
Listruzione INSERT
inserisce una o più righe in una tabella. Listruzione INSERT
è talvolta denominata istruzione INSERT INTO
.
Istruzione SQL INSERT: inserire una riga in una tabella
Quanto segue illustra listruzione INSERT
che inserisce una singola riga in una tabella esistente.
1
2
|
INSERT INTO table (column1, column2, …)
VALORI (valore1, valore2, …);
|
Per inserire una riga in una tabella, è necessario specifica tre cose:
- Primo, la tabella, nella quale vuoi inserire una nuova riga, nella clausola
INSERT INTO
. - Secondo, un elenco di colonne separate da virgole nella tabella racchiuse tra parentesi.
- Terzo, un elenco di valori separati da virgole racchiusi da parentesi nel
VALUES
clausola.
Lelenco di colonne deve avere lo stesso numero di elementi dellelenco di valori, altrimenti il motore di database genererà un errore.
Diamo unocchiata alla seguente tabella shippers
:
La seguente INSERT
inserisce una nuova riga nella shippers
tabella:
1
2
|
INSERT INTO shippers (companyname, phone)
VALUES (“Alliance Shippers”, “1-800-222-0451”);
|
Due costanti, "Alliance Shippers"
e "1-800-222-0451"
sono specificati nella clausola VALUES
. Il motore di database le ha inserite rispettivamente nelle colonne companyname
e phone
.
Dopo aver eseguito listruzione, il server database restituisce un messaggio per indicare il numero di righe interessate. In questo caso, riceviamo un messaggio “1 riga interessata” che informa che una nuova riga è stata inserita correttamente.
Tieni presente che non abbiamo specificato shipperID
colonna nellelenco delle colonne perché la colonna shipperID
è una colonna AUTO INCREMENT
, il motore di database genera automaticamente la sequenza successiva ogni volta che una nuova riga viene inserito nella tabella.
Per aiutarti a scrivere meno codice, SQL fornisce una forma più breve dellistruzione INSERT
come segue:
1
2
|
INSERT INTO table
VALUES (value1, value2, …)
|
In questo modulo, lelenco dei valori deve avere lo stesso ordine dellelenco delle colonne nella tabella. Se utilizzi questo modulo del , è necessario fornire valori per tutte le colonne tranne la colonna AUTO INCREMENT
.
È buona norma utilizzare i nomi delle colonne nella INSERT
per rendere il codice più facile da mantenere.
La seguente istruzione INSERT
ha lo stesso effetto di quella sopra:
1
2
|
INSERT INTO shippers
VALUES (” Alliance Shippers “,” 1-800-222-0451 “);
|
Istruzione SQL INSERT – inserisci più righe in una tabella
Listruzione INSERT
consente inoltre di inserire più righe in una tabella utilizzando una singola istruzione come la seguente:
1
2
3
4
|
INSERT INTO table_name (column1, column2…)
VALUES (value1, value2,…),
(value1, value2,…) ,
…
|
In questo modulo, è necessario fornire più elenchi di valori, ogni elenco è separato da una virgola.
La seguente istruzione INSERT
inserisce due righe nella tabella shippers
:
1
2
3
|
INSERT INTO shippers (companyName, phone)
VALUES (“UPS”, “1-800-782-7892”),
(“DHL”, “1-800-225-5345”)
|
SQL Istruzione INSERT – copia i dati della tabella
Invece di specificare un elenco di valori, puoi utilizzare unistruzione SELECT per selezionare i valori da unaltra tabella e fornirli a INSERT
dichiarazione. Ciò consente di copiare i dati da una tabella a unaltra.
La seguente istruzione illustra come copiare i dati da another_table
a table
:
1
2
3
4
5
6
7
|
INSERISCI NELLA tabella (colonna1, colonna2, …)
SELEZIONA
colonna1, colonna2, …
DA
another_table
WHERE
condition
|
Lelenco di colonne nella clausola SELECT
deve corrispondere allelenco di colonne in INSERT INTO
clausola. Se desideri copiare solo dati parziali, devi specificare una condizione nella clausola WHERE.
Supponi di avere una tabella temporanea denominata shippers_tmp
che ha lo stesso struttura come la tabella shippers
. Per copiare i dati dalla tabella shippers
alla tabella shippers_tmp
, utilizza la seguente dichiarazione:
1
2
3
4
5
|
INSERT INTO shippers_tmp (shipperid, name, phone)
SELECT
shipperid, companyName, telefono
DA
spedizionieri
|
In questo tutorial, hai imparato a utilizzare listruzione INSERT
per inserire una o più righe in una tabella. Inoltre, hai anche imparato a copiare i dati da una tabella a unaltra tabella utilizzando listruzione INSERT SELECT INTO
.
- Era questo tutorial utile?
- SìNo