Uvod u Umetanje u MySQL

Glavni cilj sustava baza podataka je pohranjivanje podataka u tablice. Za definiranje funkcionalnosti u bazi podataka imamo različite vrste SQL naredbi. U ovoj ćemo temi upoznati Insert u MySQL-u.

SQL naredbe mogu se kategorizirati u sljedeće:

  • DDL (jezik definiranja podataka)
  • DML (jezik za obradu podataka)
  • DQL (jezik upita podataka)
  • DCL (jezik kontrole podataka)
  • TCL (jezik kontrole transakcije)

Ovdje u ovom članku ćemo se fokusirati uglavnom na DML. Kao što možemo vidjeti naziv Jezik za upravljanje podacima, tako da je jednom kada je stvorena tablica / baza podataka za manipuliranje nečim potrebnim DML naredbama. Zasluge korištenja ovih naredbi su ako u slučaju bilo kakvih pogrešnih promjena, možemo ih odvratiti / poništiti.

Slijede naredbe u DML-u:

1. INSERT: Koristi se za umetanje novih redaka u tablicu.

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

2. DELETE: koristi se za brisanje pojedinog retka ili čitavih zapisa u tablici.

DELETE TABLE employee;

3. UPDATE: Koristi se za ažuriranje postojećih zapisa u tablici.

UPDATE employee
SET col1 = new_col
WHERE condition;

Sintaksa naredbe za umetanje u MySQL

Izvod INSERT INTO možemo napisati na sljedeća dva načina.

Put br. 1

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

Put broj 2

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

  • INSERT INTO table_name je naredba koja dodaje novi redak u tablicu pod nazivom `table_name` u MySQL bazi podataka.
  • (stupac_1, stupac_2, …) su nazivi stupaca u koje će se dodati novi zapis.
  • VALUES (vrijednost_1, vrijednost_2, …) određuje vrijednosti koje se dodaju u novi redak.

Prilikom dodavanja novih zapisa moramo biti oprezni prema definiranim tipovima podataka tijekom stvaranja strukture tablice.

  • Niz: Sve vrijednosti stringova trebaju biti zatvorene jednim navodnicima.
  • Numeričke: Numeričke vrijednosti ne smiju se nalaziti u jednom ili dvostrukom navodnju.
  • Datum: Te vrste podataka trebaju biti u jednom navodu s formatom 'GGGG-MM-DD'.

Razmotrimo da postoji tablica "zaposlenika" koja se sastoji od sljedećih atributa:

Emp_id Emp_name Telefon E-mail odjel Menadžer Grad
1001Vinay9876543219DOPSudhirBangalore
1002Raaj9764527848TOStephenHyderabad
1003sakti9567382784automobilskiVedBhubaneswar

Ako dodamo vrijednosti za sve stupce tablice, ne moramo navesti nazive stupaca u upitu, ali moramo biti sigurni da bi naš novi zapis trebao slijediti redoslijed stupca definiran u tablici.

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

Ako nemamo sve vrijednosti stupaca pa ćemo umetnuti neke od njih, tada moramo u upitu navesti imena stupaca.

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

Implementacija Umetanje naredbe u MySQL

Razmotrimo da imamo slijedeće popise novih zapisa koje je potrebno dodati u tablicu baze podataka STUDENT.

Roll_noImePrezimeStandardTelefonPostotakGrad
1SandeepKumar10987645672689, 33Cuttack
2Shyam976Bhubaneswar
3saktiNaik646376577676
4Sid89864876986Kolkata
5VinayKumar1092

Te ćemo retke umetnuti jedan po jedan u bazu podataka.

  • Krenimo od Sandeepa. Ovdje su 'Roll_no', 'Standard', 'Phone' i 'Postotak' numerička polja, tako da će se vrijednosti u ovaj stupac umetnuti bez navodnika.

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

Napomena: Kako imamo vrijednosti svih stupaca studentske tablice, ne trebamo navesti naziv stupca tijekom upotrebe naredbe INSERT. Ali moramo biti sigurni da bi naša vrijednost trebala slijediti redoslijed stupaca u tablici.

  • U slučaju zapisa Shyam, možemo primijetiti da mnoge vrijednosti nedostaju. Dakle, ovdje moramo odrediti imena stupaca, u koje želimo umetnuti vrijednosti.

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

Napomena: U ovom zapisu nemamo vrijednosti svakog stupca. Zato moramo odrediti sva imena stupaca u koje želimo umetnuti naše vrijednosti, a redoslijedom tih imena stupaca moramo spomenuti i vrijednosti.

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

Promjena redoslijeda stupaca i vrijednosti neće imati utjecaja na INSERT upit jer se prava vrijednost ne može preslikati u desni stupac. Stoga mogu nastati problemi poput umetanja numeričke vrijednosti u niz ili obrnuto.

U svim gornjim upitima nedostaje toliko polja kao što su Prezime, Telefon, Grad. U takvim će slučajevima MySQL umetnuti zadane NULL vrijednosti u stupce koje smo preskočili u upitima.

Umetanje u tablicu iz druge tablice

Ako postoje 2 slične tablice i želimo podatke izravno umetnuti iz tablice_1 u tablicu_2 kako bismo izbjegli ručni rad, možemo upotrijebiti i drugu vrstu INSERT upita. U takvom slučaju moramo upotrijebiti naredbu SELECT s naredbom INSERT. U osnovi SELECT naredba dolazi pod DQL (jezik upita podataka), koji se koristi za pretraživanje / dohvaćanje podataka. Naredba za odabir također se može koristiti s mnogim vrstama klauzula.

Osnovna sintaksa za umetanje zapisa u jednu tablicu iz druge je sljedeća:

INSERT INTO table_1 SELECT * FROM table_2;

Primjer

Pogledajmo primjer naveden u nastavku:

1. Tablica narudžbe

Order_NoOrder_departmentIme kupcaContact_noKoličinaMjesto
8465637Namještajnestajati86598767661000Delhi
9473636ukrasiAlex9863769898800Mumbai

2. Tablica_arhiva

Order_NoOrder_departmentIme kupcaContact_noKoličinaMjesto

Ovdje imamo 2 tablice pod nazivom Poredak i narudžba. Ako ćemo sve zapise iz tablice Narudžbe premjestiti u Order_archive, zadatak može obaviti sljedeći kôd:

INSERT INTO Order_archive SELECT * FROM Order;

Ako želimo premjestiti neke određene stupce iz tablice Narudžbe u Order_archive, tada:

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

Zaključak

Naredba Insert vrlo je korisna jer se igra od vremena stvaranja tablice do svakog trenutka kad god postojećoj tablici dodamo još zapisa. Iz ovog članka možemo sažeti sljedeće točke:

  • Naredba INSERT koristi se za dodavanje novih podataka u tablicu.
  • Datum i vrijednost stringa trebaju biti u jednom navodu.
  • Numerička vrijednost ne bi trebala biti u navodnicima.
  • Prilikom umetanja zapisa u određene stupce, naziv i vrijednost stupca trebaju se preslikavati istim redoslijedom.
  • Ova se naredba također može koristiti za umetanje zapisa iz jedne tablice u drugu tablicu.

Preporučeni članci

Ovo je vodič za Umetanje u MySQL. Ovdje raspravljamo o implementaciji Insert Command u MySQL uz odgovarajuće primjere i sintaksu. Možete pogledati i sljedeći članak.

  1. Što je MySQL shema?
  2. MySQL String funkcije
  3. Što je MySQL?
  4. Kako instalirati MySQL
  5. Primjeri za implementaciju INSERT-a u Oracle

Kategorija: