Sissejuhatus lisamisse MySQL-is
Andmebaasisüsteemi peamine eesmärk on andmete salvestamine tabelitesse. Andmebaasi funktsionaalsuse määratlemiseks on meil erinevaid SQL-käske. Selles teemas tutvume lisamisega MySQLis.
SQL-käsud võib liigitada järgmiselt:
- DDL (andmete määratluse keel)
- DML (andmete manipuleerimise keel)
- DQL (andmepäringu keel)
- DCL (andmejuhtimiskeel)
- TCL (tehingu juhtimise keel)
Selles artiklis keskendume peamiselt DML-ile. Nagu näeme nime Andmemanipulatsiooni keel, nõuame pärast tabeli / andmebaasi loomist millegi manipuleerimiseks DML-käske. Nende käskude kasutamise eeliseks on see, et kui juhtub mingeid valesid muudatusi, võime selle tagasi võtta / tagasi võtta.
Järgnevad on DML-i käsud:
1. INSERT: kasutatakse uute ridade lisamiseks tabelisse.
INSERT into employee
Values(101, 'abcd');
2. Kustuta: ühe tabeli rea või terve kirje kustutamiseks.
DELETE TABLE employee;
3. UPDATE: kasutatakse tabelis olemasolevate kirjete värskendamiseks.
UPDATE employee
SET col1 = new_col
WHERE condition;
Lisamise käsu süntaks MySQL-is
INSERT INTO avalduse saab kirjutada kahel järgmisel viisil.
Tee nr 1
INSERT INTO table_name
VALUES (value1, value2, ….);
Tee nr 2
INSERT INTO table_name (column1, column2, …….)
VALUES (value1, value2, ….);
- INSERT INTO tabeli_nimi on käsk, mis lisab MySQL andmebaasis tabelisse nimega tabeli_nimi uue rea.
- (veerg_1, veerg_2, …) on veeru nimed, kuhu uus kirje lisatakse.
- VÄÄRTUSED (väärtus_1, väärtus_2, …) määratlevad uuele reale lisatavad väärtused.
Uute kirjete lisamisel peame tabeli struktuuri loomisel olema ettevaatlikud määratletud andmetüüpide suhtes.
- String: kõik stringi väärtused peaksid olema lisatud üksikute jutumärkidega.
- Numbriline: numbrilisi väärtusi ei tohiks sisestada ühe- ega kahekohalistesse jutumärkidesse.
- Kuupäev: Need andmetüübid peaksid olema ühes tsitaadis vorminguga „AAAA-KK-PP”.
Mõelgem, et on olemas töötajate tabel, mis koosneb järgmistest atribuutidest:
Tühi_id | Tühi_nimi | Telefon | E-post | Osakond | Juhataja | Linn |
1001 | Vinay | 9876543219 | CSR | Sudhir | Bangalore | |
1002 | Raaj | 9764527848 | IT | Stephen | Hyderabad | |
1003 | Sakti | 9567382784 | Autotööstus | Ved | Bhubaneswar |
Kui lisame väärtused kõigi tabeli veergude jaoks, ei pea me päringus veergude nimesid määrama, vaid peame veenduma, et meie uus kirje peaks järgima tabelis määratletud veeru järjestust.
INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');
Kui meil pole kõiki veergude väärtusi ja lisame mõned neist, peame päringus täpsustama veergude nimed.
INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');
Lisamise käsu rakendamine MySQL-is
Mõelgem sellele, et meil on järgmised uute kirjete loendid, mida on vaja STUDENTi andmebaasi tabelisse lisamiseks.
Roll_no | Eesnimi | Perekonnanimi | Standard | Telefon | Protsent | Linn |
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 |
Lisame need read ükshaaval andmebaasi.
- Alustame Sandeepist. Siin on "Roll_no", "Standard", "Telefon" ja "Protsent" numbriväljad, nii et selle veeru väärtused lisatakse ilma jutumärkideta.
INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');
Märkus. Kuna meil on õpilaste tabeli kõigi veergude väärtused, ei pea me käsu INSERT kasutamise ajal veeru nime täpsustama. Kuid peame tagama, et meie väärtus peaks järgima tabeli veergude järjekorda.
- Shyami kirje puhul näeme, et paljud väärtused puuduvad. Seega peame siin täpsustama veergude nimed, millesse tahame sisestada väärtused.
INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');
Märkus . Selles kirjes pole meil iga veeru väärtusi. Sellepärast peame täpsustama kõik veerunimed, kuhu tahame oma väärtused sisestada, ja ka nende veerunimede järjekorras peame nimetama ka väärtused.
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);
Veergude järjekorra ja väärtuse muutmine ei mõjuta INSERT päringut, kuna õiget väärtust ei saa paremasse veergu kaardistada. Seega võivad tekkida probleemid nagu arvväärtuse sisestamine stringi või vastupidi.
Kõigi ülaltoodud päringute korral puuduvad nii paljud väljad nagu Perekonnanimi, Telefon, Linn. Niisiis lisab MySQL vaikimisi NULL-i väärtused nendesse veergudesse, mille oleme päringutes vahele jätnud.
Tabelisse lisamine teisest tabelist
Kui on 2 sarnast tabelit ja soovime käsitsi töö vältimiseks andmeid otse tabelist_1 tabelisse_2 sisestada, võime kasutada ka teist tüüpi INSERT-päringut. Sel juhul peame käsku INSERT kasutama käsku VALI. Põhimõtteliselt on SELECT-käsk DQL (Data Query Language), mida kasutatakse andmete otsimiseks / hankimiseks. Valimiskäsku saab kasutada ka mitut tüüpi klauslitega.
Kirjete teise tabelisse lisamise põhiline süntaks on järgmine:
INSERT INTO table_1 SELECT * FROM table_2;
Näide
Vaatame allpool toodud näidet:
1. Tellimustabel
Tellimuse_no | Tellimisosa | Kliendi nimi | Kontakt_no | Kogus | Koht |
8465637 | Mööbel | Peeter | 8659876766 | 1000 | Delhi |
9473636 | Kaunistused | Alex | 9863769898 | 800 | Mumbai |
2. Tellimisarhiivi tabel
Tellimuse_no | Tellimisosa | Kliendi nimi | Kontakt_no | Kogus | Koht |
Siin on 2 tabelit nimega Tellimus ja Tellimisarhiiv. Kui liigutame kõik kirjed tellimustabelist tellimuste_arhiivi, saab ülesannet täita järgmise koodiga:
INSERT INTO Order_archive SELECT * FROM Order;
Kui tahame teisaldada tabelist Tellimused mõned konkreetsed veerud järjekorda Arhiiv, siis:
INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;
Järeldus
Sisestamiskäsk on väga kasulik, kuna mängu tuleb mängida alates tabeli loomise hetkest kuni iga üksikuni, kui olemasolevasse tabelisse lisame rohkem kirjeid. Selle artikli kohta võime kokku võtta järgmised punktid:
- INSERT-käsku kasutatakse tabelisse uute andmete lisamiseks.
- Kuupäev ja stringi väärtus peaksid olema ühes tsitaadis.
- Numbriline väärtus ei tohiks olla jutumärkides.
- Kirjete sisestamisel kindlatesse veergudesse tuleks veeru nimi ja väärtus kaardistada samas järjekorras.
- Seda käsku saab kasutada ka kirjete lisamiseks ühest tabelist teise tabelisse.
Soovitatavad artiklid
See on juhend lisamiseks MySQL-i. Siin käsitleme sisestuskäsu rakendamist MySQL-is koos sobivate näidete ja süntaksiga. Võite vaadata ka järgmist artiklit.
- Mis on MySQL skeem?
- MySQL Stringi funktsioonid
- Mis on MySQL?
- Kuidas MySQL-i installida
- INSERTi rakenduse näited Oracle'is