SQL INSERT – Inserimento di una o più righe in una tabella

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *