Introducere în Insert în MySQL
Scopul principal al unui sistem de baze de date este stocarea datelor în tabele. Pentru a defini funcționalitatea din baza de date avem diferite tipuri de comenzi SQL. În acest subiect, vom afla despre Insert în MySQL.
Comenzile SQL pot fi clasificate în următoarele:
- DDL (limbajul de definire a datelor)
- DML (limbajul de manipulare a datelor)
- DQL (limbaj de interogare a datelor)
- DCL (limbaj de control al datelor)
- TCL (limbajul de control al tranzacțiilor)
Aici, în acest articol, ne vom concentra mai ales pe DML. După cum putem vedea numele limbajului de manipulare a datelor, deci, odată creată tabela / baza de date, pentru a manipula ceva, avem nevoie de comenzi DML. Meritul folosirii acestor comenzi este dacă în cazul în care s-au întâmplat modificări greșite, putem să le redăm / să le anulăm.
Următoarele sunt comenzile din DML:
1. INSERT: utilizat pentru a insera rânduri noi în tabel.
INSERT into employee
Values(101, 'abcd');
2. Ștergeți : utilizat pentru a șterge un singur rând sau înregistrări întregi dintr-un tabel.
DELETE TABLE employee;
3. ACTUALIZARE: utilizat pentru a actualiza înregistrările existente într-un tabel.
UPDATE employee
SET col1 = new_col
WHERE condition;
Sintaxa comenzii Insert în MySQL
Putem scrie declarația INSERT INTO în următoarele două moduri.
Calea # 1
INSERT INTO table_name
VALUES (value1, value2, ….);
Calea # 2
INSERT INTO table_name (column1, column2, …….)
VALUES (value1, value2, ….);
- INSERT INTO table_name este comanda care adaugă un rând nou într-un tabel numit „table_name” în baza de date MySQL.
- (column_1, column_2, …) sunt numele coloanelor în care se va adăuga o nouă înregistrare.
- VALUES (valoare_1, valoare_2, …) specifică valorile care trebuie adăugate în noul rând.
În timp ce adăugăm înregistrări noi, trebuie să fim atenți la tipurile de date definite în timp ce creăm structura tabelului.
- Șir: toate valorile șirului trebuie să fie anexate cu ghilimele unice.
- Numeric: valorile numerice nu ar trebui să fie incluse în ghilimele simple sau duble.
- Data: Aceste tipuri de date ar trebui să fie prezentate într-o ofertă unică cu formatul „AAAA-MM-DD”.
Să luăm în considerare că există un tabel „angajați” format din următoarele atribute:
emp_id | emp_name | Telefon | Departament | Administrator | Oraș | |
1001 | Vinay | 9876543219 | CSR | Sudhir | Bangalore | |
1002 | Raaj | 9764527848 | ACEASTA | Stephen | Hyderabad | |
1003 | Sakti | 9567382784 | Automotive | ved | Bhubaneswar |
Dacă adăugăm valori pentru toate coloanele unui tabel, nu trebuie să specificăm numele coloanelor din interogare, dar trebuie să ne asigurăm că noua noastră înregistrare trebuie să urmeze secvența coloanei așa cum este definită în tabel.
INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');
Dacă nu avem toate valorile coloanelor și le vom insera unele dintre ele, atunci trebuie să specificăm numele coloanelor din interogare.
INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');
Implementarea comenzii Insert în MySQL
Să luăm în considerare faptul că avem următoarele liste de înregistrări noi care sunt necesare pentru a fi adăugate în tabelul bazei de date STUDENT.
Rola numărul | Nume | Numele de familie | Standard | Telefon | Procent | Oraș |
1 | Sandeep | Kumar | 10 | 9876456726 | 89.33 | Cuttack |
2 | Shyam | 9 | 76 | Bhubaneswar | ||
3 | Sakti | Naik | 6463765776 | 76 | ||
4 | Sid | 8 | 9864876986 | Kolkata | ||
5 | Vinay | Kumar | 10 | 92 |
Vom insera aceste rânduri unul câte unul în baza de date.
- Să începem cu Sandeep. Aici „Roll_no”, „Standard”, „Phone” și „Percentage” sunt câmpuri numerice, deci valorile din această coloană vor fi inserate fără ghilimele.
INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');
Notă: Deoarece avem valorile tuturor coloanelor din tabelul studentului, nu este necesar să specificăm numele coloanei în timp ce utilizăm comanda INSERT. Dar trebuie să ne asigurăm că valoarea noastră trebuie să urmeze ordinea coloanelor din tabel.
- În cazul înregistrării Shyam, putem vedea că lipsesc multe valori. Așadar, aici trebuie să specificăm numele coloanelor, în care dorim să introducem valorile.
INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');
Notă: În această înregistrare, nu avem valorile fiecărei coloane. De aceea, trebuie să specificăm toate numele de coloană în care vrem să introducem valorile noastre și în ordinea numelor de coloane, trebuie să menționăm și valori.
INSERT INTO student (Roll_no, First_name, Last_name, Phone, Percentage)
VALUES (3, 'Sakti', 'naik', 6463765776, 76);
INSERT INTO student (Roll_no, First_name, Standard, Phone, City)
VALUES (4, 'Sid', 8, 9864876986, 'Kolkata');
INSERT INTO student (Roll_no, First_name, Last_name, standard, Percentage)
VALUES (5, 'Vinay', 'Kumar', 10, 92);
Modificarea ordinii coloanelor și valorii nu va avea niciun efect asupra interogării INSERT, deoarece valoarea corectă nu poate fi mapată în coloana din dreapta. Astfel pot apărea probleme precum inserarea unei valori numerice într-un șir sau invers.
În toate întrebările de mai sus, lipsesc atât de multe câmpuri precum numele de familie, telefon, oraș. Așadar, în astfel de cazuri, MySQL va introduce în mod implicit valori NULL în acele coloane pe care le-am sărit în interogări.
Inserarea într-o tabelă dintr-o altă tabelă
Dacă există 2 tabele similare și dorim să introducem direct date de la tabel_1 la tabel_2 pentru a evita munca manuală, putem folosi și un alt tip de interogare INSERT. Într-un astfel de caz, trebuie să utilizăm o comandă SELECT cu comanda INSERT. Practic, comanda SELECT se află sub DQL (Data Query Language), care este folosită pentru preluarea / preluarea datelor. Comanda selectă poate fi folosită de asemenea cu mai multe tipuri de clauze.
Sintaxa de bază pentru inserarea înregistrărilor într-un tabel de la altul este următoarea:
INSERT INTO table_1 SELECT * FROM table_2;
Exemplu
Să vedem exemplul dat mai jos:
1. Tabelul comenzilor
Comandă nu | Order_department | Numele clientului | Contact nr | Cantitate | Loc |
8465637 | Mobila | Petru | 8659876766 | 1000 | Delhi |
9473636 | ornamente | Alex | 9863769898 | 800 | Mumbai |
2. Tabel_Arhivă
Comandă nu | Order_department | Numele clientului | Contact nr | Cantitate | Loc |
Aici avem 2 tabele denumite Order și Order_archive. Dacă vom muta toate înregistrările din tabelul Comandă în Order_archive, atunci următorul cod poate efectua sarcina:
INSERT INTO Order_archive SELECT * FROM Order;
Dacă dorim să mutăm câteva coloane specifice din tabelul Comandă în Order_archive, atunci:
INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;
Concluzie
Comanda Insert este foarte utilă, deoarece este redată de la momentul creării tabelelor până la fiecare dată când adăugăm mai multe înregistrări la tabelul existent. Putem rezuma următoarele puncte din acest articol:
- Comanda INSERT este utilizată pentru a adăuga date noi în tabel.
- Data și valoarea șirului trebuie să fie într-un singur ofertă.
- Valoarea numerică nu trebuie să fie între ghilimele.
- În timp ce inserați înregistrări în coloane specifice, numele și valoarea coloanei ar trebui să fie mapate în aceeași ordine.
- Această comandă poate fi folosită și pentru a insera înregistrări de la o tabelă la alta.
Articole recomandate
Acesta este un ghid pentru Insert în MySQL. Aici discutăm Implementarea comenzii Insert în MySQL împreună cu exemple și sintaxă adecvate. De asemenea, vă puteți uita la articolul următor.
- Ce este schema MySQL?
- Funcții String MySQL
- Ce este MySQL?
- Cum se instalează MySQL
- Exemple pentru implementarea INSERT în Oracle