MySQL Java JavaScript PHP Python HTML-CSS C-sharp C++ Go

Principalele operațiuni cu datele

Adăugarea datelor - Comanda INSERT

Pentru a adăuga date într-o bază de date MySQL, se utilizează comanda INSERT, care are următorul format formal de sintaxă:

INSINSERT [INTO] numele_tabelului lista_de_coloane VALUES (valoarea1, valoarea2, ... valoareaN)

După expresia INSERT INTO, în paranteze, poți specifica o listă de coloane separate prin virgulă, în care să adaugi date, și la sfârșit, după cuvântul VALUES în paranteze, să enumere valorile pe care le adaugi pentru coloane.

De exemplu, să presupunem că în baza de date productsdb există următoarea tabelă Products:

CREATE DATABASE productsdb;
USE productsdb;
CREATE TABLE Products
(
   Id INT AUTO_INCREMENT PRIMARY KEY,
   ProductName VARCHAR(30) NOT NULL,
   Manufacturer VARCHAR(20) NOT NULL,
   ProductCount INT DEFAULT 0,
   Price DECIMAL NOT NULL
);

Vom adăuga în această tabelă o singură înregistrare folosind următorul cod:

INSERT Products(ProductName, Manufacturer, ProductCount, Price)
VALUES ('iPhone X', 'Apple', 5, 76000);

În acest caz, valorile vor fi transmise coloanelor în funcție de poziție. Cu alte cuvinte, coloanei ProductName i se atribuie șirul "iPhone X", coloanei Manufacturer i se atribuie șirul "Apple" și așa mai departe.

Este important ca între valorile și tipurile de date ale coloanelor să existe o corespondență. De exemplu, coloana ProductName reprezintă tipul varchar, adică un șir de caractere.

Prin urmare, pentru această coloană putem transmite o valoare de șir în ghilimele simple. În schimb, coloana ProductCount reprezintă tipul int, adică un număr întreg, așa că acestei coloane trebuie să-i transmitem numere întregi, nu șiruri.

După o executare reușită, în MySQL Workbench ar trebui să apară un indicator verde și mesajul "1 row(s) affected":

Nu este obligatoriu să specificăm valori pentru toate coloanele unei tabele atunci când adăugăm date. De exemplu, în exemplul anterior, nu am specificat o valoare pentru coloana Id. Dar deoarece pentru această coloană este definit atributul AUTO_INCREMENT, valoarea sa va fi generată automat.

De asemenea, putem omite la adăugare coloane care acceptă valoarea NULL sau pentru care este specificată o valoare implicită, adică coloane pentru care sunt definite atributele NULL sau DEFAULT.

Prin urmare, în tabela "Products", coloana "ProductCount" are o valoare implicită de 0. Prin urmare, putem omite această coloană la adăugare, iar pentru ea va fi atribuită valoarea 0:

INSERT Products(ProductName, Manufacturer, Price)
VALUES ('Galaxy S9', 'Samsung', 63000);

Cu ajutorul cuvintelor cheie DEFAULT și NULL, putem specifica că se va utiliza valoarea implicită sau NULL ca valoare, respectiv:

INSERT Products(ProductName, Manufacturer, Price, ProductCount)
VALUES ('Nokia 9', 'HDM Global', 41000, DEFAULT);

Sau:

INSERT Products(ProductName, Manufacturer, Price, ProductCount)
VALUES ('Nokia 9', 'HDM Global', 41000, NULL);

Adăugare multiplă

De asemenea, putem adăuga simultan mai multe rânduri:

INSERT Products(ProductName, Manufacturer, Price, ProductCount)
VALUES
('iPhone 8', 'Apple', 51000, 3),
('P20 Lite', 'Huawei', 34000, 4),
('Galaxy S8', 'Samsung', 46000, 2);