Bevezetés a beszúrásba a MySQL-ben

Az adatbázis-rendszer fő célja az adatok táblázatokba történő tárolása. Az adatbázis funkcionalitásának meghatározásához különféle SQL parancsokat használunk. Ebben a témában megismerjük az Insert in MySQL alkalmazást.

Az SQL parancsokat az alábbiak szerint lehet kategorizálni:

  • DDL (adatmeghatározási nyelv)
  • DML (adatkezelési nyelv)
  • DQL (adatkérdezési nyelv)
  • DCL (adatvezérlő nyelv)
  • TCL (tranzakció-vezérlő nyelv)

Ebben a cikkben elsősorban a DML-re fogunk összpontosítani. Mint láthatjuk az adatmanipulációs nyelv nevét, így a tábla / adatbázis létrehozása után valami manipulálásához DML-parancsokra van szükségünk. Ezeket a parancsokat érdemes használni abban az esetben, ha hibás változások történnek, visszavonhatjuk / visszavonhatjuk.

A következők a DML parancsai:

1. INSERT: Új sor beszúrása a táblázatba.

INSERT into employee
Values(101, 'abcd');

2. TÖRLÉS: Egy sor vagy teljes rekord törlésére szolgál a táblázatban.

DELETE TABLE employee;

3. UPDATE: A táblázat meglévő rekordjainak frissítésére szolgál.

UPDATE employee
SET col1 = new_col
WHERE condition;

A beszúrási parancs szintaxisa a MySQL-ben

Az INSERT INTO nyilatkozatot a következő két módon írhatjuk.

1. út

INSERT INTO table_name
VALUES (value1, value2, ….);

2. út

INSERT INTO table_name (column1, column2, …….)
VALUES (value1, value2, ….);

  • INSERT INTO table_name az a parancs, amely új sort ad a MySQL adatbázisban a „table_name” nevű táblázathoz.
  • (_1 oszlop, _2 oszlop, …) azok az oszlopok nevei, amelyekhez új rekord kerül hozzáadásra.
  • ÉRTÉKEK (érték_1, érték_2, …) az új sorhoz hozzáadandó értékeket határozza meg.

Új rekordok hozzáadásakor óvatosan kell eljárnunk a meghatározott adattípusokkal, miközben létrehozhatjuk a táblázat szerkezetét.

  • Karakterlánc: Az összes karakterláncértéket egy idézőjelekkel kell ellátni.
  • Numerikus: A numerikus értékeket nem szabad egyidejű vagy dupla idézőjelekbe beilleszteni.
  • Dátum: Ezeknek az adattípusoknak egy idézetben kell szerepelniük, 'ÉÉÉÉ-HH-NN "formátumban.

Tegyük fel, hogy van egy „alkalmazott” táblázat, amely a következő attribútumokból áll:

Emp_id Emp_name Telefon Email Osztály Menedzser Város
1001Vinay9876543219CSRSudhirBangalore
1002Raaj9764527848AZTIstvánHyderabad
1003Sakti9567382784AutóiparivedBhubaneswar

Ha a táblázat összes oszlopához értékeket adunk hozzá, akkor nem kell megadnunk az oszlopneveket a lekérdezésben, hanem meg kell győződnünk arról, hogy új rekordunkat az oszlop táblázatban megadott sorrendjének kell követnie.

INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');

Ha nem rendelkezik az összes oszlopértékkel, és beillesztünk néhányat, akkor meg kell adnunk az oszlopneveket a lekérdezésben.

INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');

Az Insert Command végrehajtása a MySQL-ben

Tegyük fel, hogy a következő listákkal rendelkezik az új rekordokról, amelyek szükségesek a STUDENT adatbázis táblájához.

Roll_noKeresztnévVezetéknévAlapértelmezettTelefonSzázalékVáros
1SandeepKumar10987645672689, 33Cuttack
2Shyam976Bhubaneswar
3SaktiNaik646376577676
4Sid89864876986Kolkata
5VinayKumar1092

Ezeket a sorokat egyenként illesztjük be az adatbázisba.

  • Kezdjük a Sandeep-tel. Itt a 'Roll_no', 'Standard', 'Phone' és 'Százalék' numerikus mezők, tehát ebben az oszlopban az értékek idézetek nélkül kerülnek beillesztésre.

INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');

Megjegyzés: Mivel a hallgatói táblázat összes oszlopának értékei vannak, nem kell megadnunk az oszlop nevét az INSERT parancs használatakor. Gondoskodnunk kell arról, hogy értékünk a táblázat oszlopok sorrendjét kövesse.

  • A Shyam rekord esetében sok érték hiányzik. Tehát itt meg kell határoznunk az oszlopneveket, amelyekbe be akarjuk illeszteni az értékeket.

INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');

Megjegyzés: Ebben a rekordban nincs minden oszlop értéke. Ezért meg kell határoznunk az összes oszlopnevet, amelybe be akarjuk illeszteni az értékeinket, és ezen oszlopnevek sorrendjében meg kell említeni az értékeket is.

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);

Az oszlopok sorrendjének és értékének megváltoztatása nincs hatással az INSERT lekérdezésre, mivel a megfelelő értéket nem lehet a jobb oszlophoz leképezni. Így problémák merülhetnek fel, például egy numerikus érték beszúrása egy karakterláncba vagy fordítva.

A fenti lekérdezések közül olyan sok mező hiányzik, mint a Vezetéknév, Telefon, Város értékek. Tehát ilyen esetekben a MySQL alapértelmezés szerint NULL értékeket fog beilleszteni azokba az oszlopokba, amelyeket kihagytunk a lekérdezésekben.

Beillesztés egy másik táblázatból egy táblázatba

Ha 2 hasonló tábla létezik, és közvetlenül a kézi munka elkerülése végett szeretnénk adatokat beilleszteni a table_1-ből a table_2-be, akkor más típusú INSERT lekérdezést is használhatunk. Ebben az esetben SELECT parancsot kell használni az INSERT paranccsal. Alapvetően a SELECT parancs a DQL (Data Query Language) alá tartozik, amelyet az adatok lekérdezésére / lekérésére használunk. A select parancs sokféle záradékhoz is használható.

Az alapszintaxis a rekordoknak az egyik táblába való beszúrásához a következő:

INSERT INTO table_1 SELECT * FROM table_2;

Példa

Nézzük meg az alábbiakban bemutatott példát:

1. Rendelési táblázat

Rendelési számOrder_departmentÜgyfél neveElérhetőségMennyiségHely
8465637BútorPéter86598767661000Delhi
9473636dísztárgyakAlex9863769898800Mumbai

2. Order_archive Table

Rendelési számOrder_departmentÜgyfél neveElérhetőségMennyiségHely

Itt van 2 táblázat, Rendelés és Megrendelés_archívum. Ha az összes rekordot áthelyezzük a Megrendelés táblázatból a Megrendelés_archívumba, akkor a következő kód képes végrehajtani a feladatot:

INSERT INTO Order_archive SELECT * FROM Order;

Ha át szeretnénk helyezni néhány konkrét oszlopot a Megrendelés táblázatból a Megrendelés_archívumba, akkor:

INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;

Következtetés

Az Insert parancs nagyon hasznos, mivel a tábla létrehozásának időpontjától kezdve minden egyes játékig játszani kell, amikor további rekordokat adunk a meglévő táblázathoz. Összefoglalhatjuk a cikk alábbi pontjait:

  • Az INSERT paranccsal új adatokat lehet hozzáadni a táblázathoz.
  • A dátumnak és a karakterlánc értékének egyetlen idézetben kell lennie.
  • A numerikus értéknek nem kell idézőjelekben lennie.
  • Míg a rekordokat bizonyos oszlopokba illeszti, az oszlop nevét és értékét azonos sorrendben kell leképezni.
  • Ez a parancs felhasználható rekordok beillesztésére az egyik táblázatból a másikba.

Ajánlott cikkek

Ez egy útmutató a beszúráshoz a MySQL-ben. Itt beszéltük az Insert Command végrehajtásának a MySQL-ben, a megfelelő példákkal és szintaxisával együtt. A következő cikket is megnézheti.

  1. Mi a MySQL séma?
  2. MySQL karakterlánc funkciók
  3. Mi a MySQL?
  4. A MySQL telepítése
  5. Példák az INSERT implementálására az Oracle alkalmazásban