SQL INSERT – Introducerea unuia sau mai multor rânduri într-un tabel

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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *