Rezumat: în acest tutorial, veți afla cum să utilizați instrucțiunea SQL INSERT pentru a insera date în tabele.
Instrucțiunea INSERT
inserează unul sau mai multe rânduri într-un tabel. Instrucțiunea INSERT
este uneori denumită instrucțiune INSERT INTO
.
Instrucțiune SQL INSERT – introduceți un rând într-o tabel
Următorul ilustrează declarația INSERT
care introduce un singur rând într-un tabel existent.
1
2
|
INSERT INTO table (coloana1, coloana2, …)
VALORI (valoare1, valoare2, …);
|
Pentru a insera un rând într-un tabel, trebuie să specificați trei lucruri:
- Mai întâi, tabelul, pe care doriți să îl inserați într-un rând nou, în clauza
INSERT INTO
. - În al doilea rând, o listă separată prin virgule a coloanelor din tabel înconjurate de paranteze.
- În al treilea rând, o listă separată prin virgule a valorilor înconjurate de paranteze în
VALUES
clauză.
Lista coloanelor trebuie să aibă același număr de elemente ca lista valorilor, altfel motorul bazei de date va emite o eroare.
Să aruncăm o privire la următorul tabel shippers
:
Următorul INSERT
inserează un rând nou în tabelul shippers
:
1
2
|
INSERAȚI ÎN expeditorii (numele companiei, telefonul)
VALORI („Expeditorii alianței”, „1-800-222-0451”);
|
Două constante, "Alliance Shippers"
și "1-800-222-0451"
sunt specificate în clauza VALUES
. Motorul bazei de date le-a inserat în coloanele companyname
și phone
.
După executarea instrucțiunii, serverul bazei de date returnează un mesaj pentru a indica numărul de rânduri afectate. În acest caz, primim un mesaj „1 rând afectat” informat că un rând nou a fost inserat cu succes.
Observați că nu am specificat shipperID
coloană din lista de coloane, deoarece coloana shipperID
este o coloană AUTO INCREMENT
, motorul bazei de date generează următoarea secvență pentru ea ori de câte ori apare un nou rând este introdus în tabel.
Pentru a vă ajuta să scrieți mai puțin cod, SQL oferă o formă mai scurtă a declarației INSERT
după cum urmează:
1
2
|
INSERT INTO table
VALORES (value1, value2, …)
|
În acest formular, lista valorilor trebuie să aibă aceeași ordine ca lista coloanelor din tabel. Dacă utilizați acest formular al , trebuie să furnizați valori pentru toate coloanele, cu excepția coloanei AUTO INCREMENT
.
Este o practică bună să utilizați numele coloanelor din Instrucțiunea INSERT
pentru a face codul mai ușor de întreținut.
Următoarea declarație INSERT
are același efect ca cel mai sus:
1
2
|
INSERT INTO expeditors
VALUES (” Alliance Shippers „,” 1-800-222-0451 „);
|
Instrucțiune SQL INSERT – introduceți mai multe rânduri într-un tabel
Instrucțiunea INSERT
vă permite, de asemenea, să inserați mai multe rânduri într-un tabel folosind o singură instrucțiune, după cum urmează:
1
2
3
4
|
INSERT INTO table_name (column1, column2 …)
VALORI (valoare1, valoare2, …),
(valoare1, valoare2, …) ,
…
|
În acest formular, trebuie să furnizați mai multe liste de valori, fiecare listă este separată printr-o virgulă.
Următoarea instrucțiune INSERT
introduce două rânduri în tabelul shippers
:
1
2
3
|
INSERT INTO expeditors (companyName, phone)
VALORES („UPS”, „1-800-782-7892”),
(„DHL”, „1-800-225-5345”)
|
SQL Instrucțiune INSERT – copiați datele tabelului
În loc să specificați o listă de valori, puteți utiliza o instrucțiune SELECT pentru a selecta valorile dintr-un alt tabel și să le furnizați INSERT
afirmație. Acest lucru vă permite să copiați date dintr-un tabel în alt tabel.
Următoarea afirmație ilustrează cum să copiați date din another_table
în table
:
1
2
3
4
5
6
7
|
INSERT INTO table (column1, column2, …)
SELECT
column1, column2, …
FROM
another_table
WHERE
condiție
|
Lista coloanelor din clauza SELECT
trebuie să corespundă cu lista coloanelor din INSERT INTO
clauză. Dacă doriți să copiați doar date parțiale, trebuie să specificați o condiție în clauza WHERE.
Să presupunem că aveți un tabel temporar numit shippers_tmp
care are același lucru structură ca tabel shippers
. Pentru a copia date din tabelul shippers
în tabelul shippers_tmp
, utilizați următoarea declarație:
1
2
3
4
5
|
INSERT INTO shippers_tmp (expeditor, nume, telefon)
SELECT
shipperid, companyName, telefon
FROM
expeditori
|
În acest tutorial, ați aflat cum să utilizați instrucțiunea INSERT
pentru a insera unul sau mai multe rânduri într-un tabel. În plus, ați aflat și cum să copiați datele dintr-un tabel într-un alt tabel folosind instrucțiunea INSERT SELECT INTO
.
- A fost acest tutorial util?
- Da Nu