Úvod do MySQL

Hlavným cieľom databázového systému je ukladať údaje do tabuliek. Na definovanie funkčnosti v databáze máme rôzne druhy príkazov SQL. V tejto téme sa chystáme dozvedieť sa o Insert v MySQL.

Príkazy SQL možno rozdeliť do nasledujúcich kategórií:

  • DDL (jazyk na definovanie údajov)
  • DML (jazyk manipulácie s údajmi)
  • DQL (jazyk dopytov s údajmi)
  • DCL (jazyk kontroly dát)
  • TCL (Jazyk kontroly transakcií)

V tomto článku sa zameriame hlavne na DML. Ako vidíme názov Manipulačný jazyk údajov, takže akonáhle bude tabuľka / databáza vytvorená, potrebujeme niečo manipulovať, preto potrebujeme príkazy DML. Výhodou použitia týchto príkazov je, že v prípade akýchkoľvek nesprávnych zmien ich môžeme vrátiť späť / vrátiť späť.

Nasledujú príkazy v DML:

1. VLOŽIŤ: Používa sa na vkladanie nových riadkov do tabuľky.

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

2. DELETE: Používa sa na vymazanie jedného riadku alebo celých záznamov v tabuľke.

DELETE TABLE employee;

3. UPDATE: Používa sa na aktualizáciu existujúcich záznamov v tabuľke.

UPDATE employee
SET col1 = new_col
WHERE condition;

Syntax príkazu Insert v MySQL

Príkaz INSERT INTO môžeme napísať nasledujúcimi dvoma spôsobmi.

Cesta č. 1

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

Cesta č. 2

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

  • INSERT INTO table_name je príkaz, ktorý pridá nový riadok do tabuľky s názvom `table_name` v databáze MySQL.
  • (column_1, column_2, …) sú názvy stĺpcov, do ktorých sa pridá nový záznam.
  • VALUES (value_1, value_2, …) určuje hodnoty, ktoré sa majú pridať do nového riadku.

Pri pridávaní nových záznamov musíme byť opatrní pri definovaní typov údajov pri vytváraní štruktúry tabuľky.

  • Reťazec: Všetky hodnoty reťazca by mali byť uzavreté jednoduchými úvodzovkami.
  • Numeric: Numerické hodnoty by sa nemali uvádzať v jednoduchých alebo dvojitých úvodzovkách.
  • Dátum: Tieto typy údajov by sa mali uvádzať v jedinej ponuke vo formáte „RRRR-MM-DD“.

Zoberme si, že existuje „zamestnanecká“ tabuľka pozostávajúca z nasledujúcich atribútov:

emp_id Emp_name telefón e-mail oddelenie manažér veľkomesto
1001Vinay9876543219CSRSudhirBangalore
1002Raaj9764527848ITstephenHyderabad
1003šakti9567382784automobilový priemyselvedBhubaneswar

Ak pridávame hodnoty pre všetky stĺpce tabuľky, nemusíme v názve zadávať názvy stĺpcov, musíme sa však uistiť, že náš nový záznam by mal nasledovať postupnosť stĺpcov, ako je definovaná v tabuľke.

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

Ak nemáme všetky hodnoty stĺpcov a niektoré z nich vložíme, musíme do dotazu zadať názvy stĺpcov.

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

Implementácia príkazu Insert v MySQL

Uvažujme, že máme nasledujúce zoznamy nových záznamov, ktoré sú potrebné na pridanie do databázovej tabuľky STUDENT.

Roll_noKrstné menoPriezviskoštandardnételefónpercentoveľkomesto
1SandeepKumar10987645672689, 33Cuttack
2Shyam976Bhubaneswar
3šaktiNaik646376577676
4sid89864876986Kalkata
5VinayKumar1092

Tieto riadky vložíme jeden po druhom do databázy.

  • Začnime Sandeepom. Tu sú 'Roll_no', 'Standard', 'Phone' a 'Percentage' číselné polia, takže hodnoty v tomto stĺpci budú vložené bez úvodzoviek.

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

Poznámka: Keďže máme hodnoty všetkých stĺpcov v študentskej tabuľke, nemusíme pri použití príkazu INSERT zadávať názov stĺpca. Musíme sa však uistiť, že naša hodnota by sa mala riadiť poradím stĺpcov v tabuľke.

  • V prípade záznamu Shyam vidíme veľa chýbajúcich hodnôt. Preto musíme zadať názvy stĺpcov, do ktorých chceme vložiť hodnoty.

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

Poznámka: V tomto zázname nemáme hodnoty každého stĺpca. Z tohto dôvodu musíme uviesť všetky názvy stĺpcov, do ktorých chceme vložiť naše hodnoty, av poradí týchto názvov stĺpcov musíme uviesť aj hodnoty.

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

Zmena poradia stĺpcov a hodnoty nebude mať vplyv na dotaz INSERT, pretože správnu hodnotu nie je možné mapovať do pravého stĺpca. Preto môžu vzniknúť problémy, ako je vloženie číselnej hodnoty do reťazca alebo naopak.

Vo všetkých vyššie uvedených dopytoch chýba toľko polí, ako sú Priezvisko, Telefón a Mesto. V takýchto prípadoch MySQL vloží predvolene hodnoty NULL do stĺpcov, ktoré sme v dotazoch preskočili.

Vloženie do tabuľky z inej tabuľky

Ak existujú 2 podobné tabuľky a chceme vložiť údaje z tabuľky_1 do tabuľky_2 priamo, aby sme sa vyhli manuálnej práci, môžeme použiť aj iný typ dotazu INSERT. V takom prípade musíme použiť príkaz SELECT s príkazom INSERT. Príkaz SELECT v podstate spadá pod jazyk DQL (Data Query Language), ktorý sa používa na získavanie / načítanie údajov. Príkaz select je možné použiť aj s mnohými typmi klauzúl.

Základná syntax pre vkladanie záznamov do jednej tabuľky z druhej je nasledovná:

INSERT INTO table_1 SELECT * FROM table_2;

príklad

Pozrime sa na príklad uvedený nižšie:

1. Tabuľka objednávok

Číslo objednávkyOrder_departmentMeno zákazníkaContact_nomnožstvomiesto
8465637nábytokPeter86598767661000Delhi
9473636ozdobyalex9863769898800Mumbai

2. Order_archive Table

Číslo objednávkyOrder_departmentMeno zákazníkaContact_nomnožstvomiesto

Tu máme 2 tabuľky s názvom Order and Order_archive. Ak presunieme všetky záznamy z tabuľky Order do Order_archive, úlohu môže vykonať nasledujúci kód:

INSERT INTO Order_archive SELECT * FROM Order;

Ak chceme presunúť niektoré konkrétne stĺpce z tabuľky Order do Order_archive, potom:

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

záver

Príkaz vloženia je veľmi užitočný, pretože sa hrá od času vytvorenia tabuľky až po zakaždým, keď do existujúcej tabuľky pridáme ďalšie záznamy. Z tohto článku môžeme zhrnúť nasledujúce body:

  • Príkaz INSERT sa používa na pridanie nových údajov do tabuľky.
  • Hodnota dátumu a reťazca by mala byť v jednej ponuke.
  • Číselná hodnota by nemala byť uvedená v úvodzovkách.
  • Pri vkladaní záznamov do konkrétnych stĺpcov by sa mal názov a hodnota stĺpca mapovať v rovnakom poradí.
  • Tento príkaz sa dá tiež použiť na vkladanie záznamov z jednej tabuľky do druhej.

Odporúčané články

Toto je príručka na vloženie do MySQL. Tu diskutujeme implementáciu príkazu Insert v MySQL spolu s príslušnými príkladmi a syntaxou. Môžete sa tiež pozrieť na nasledujúci článok.

  1. Čo je schéma MySQL?
  2. MySQL String funkcie
  3. Čo je MySQL?
  4. Ako nainštalovať MySQL
  5. Príklady implementácie INSERT v Oracle