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
1001Vinay9876543219CSRSudhirBangalore
1002Raaj9764527848ITStephenHyderabad
1003Sakti9567382784AutotööstusVedBhubaneswar

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_noEesnimiPerekonnanimiStandardTelefonProtsentLinn
1SandeepKumar10987645672689, 33Cuttack
2Shyam976Bhubaneswar
3SaktiNaik646376577676
4Sid89864876986Kolkata
5VinayKumar1092

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_noTellimisosaKliendi nimiKontakt_noKogusKoht
8465637MööbelPeeter86598767661000Delhi
9473636KaunistusedAlex9863769898800Mumbai

2. Tellimisarhiivi tabel

Tellimuse_noTellimisosaKliendi nimiKontakt_noKogusKoht

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.

  1. Mis on MySQL skeem?
  2. MySQL Stringi funktsioonid
  3. Mis on MySQL?
  4. Kuidas MySQL-i installida
  5. INSERTi rakenduse näited Oracle'is