Како увести и извести базе података у MySQL или MariaDB


Operacije sa bazama podataka: Uvoz i izvoz u MySQL i MariaDB

Manipulacija podacima, odnosno unos i izdvajanje, predstavlja temeljne aktivnosti u radu sa bazama podataka. MySQL i MariaDB, dva široko rasprostranjena sistema za upravljanje bazama podataka, nude efikasne komande za obavljanje ovih operacija. Ovaj članak pruža detaljan uvid u proces uvoza i izvoza podataka u MySQL i MariaDB okruženju.

Unos podataka

Korišćenje INSERT komande

INSERT komanda služi za dodavanje novih zapisa u tabelu unutar baze podataka. Njena sintaksa je sledeća:

sql
INSERT INTO naziv_tabele (kolona1, kolona2, ...) VALUES (vrednost1, vrednost2, ...);

Na primer, da bismo dodali informacije o novom zaposlenom u tabelu zaposleni, možemo koristiti ovu naredbu:

sql
INSERT INTO zaposleni (ime, email, plata) VALUES ('Marko Marković', '[email protected]', 85000);

Masovni unos podataka

Za unos većeg broja redova istovremeno, koristimo INSERT ... SELECT naredbu. Ova naredba omogućava da ubacimo podatke iz druge tabele ili rezultata upita u trenutnu tabelu. Sintaksa je:

sql
INSERT INTO naziv_tabele (kolona1, kolona2, ...) SELECT kolona1, kolona2, ... FROM druga_tabela;

Rešavanje duplikata

Po default-u, MySQL i MariaDB ne dozvoljavaju umetanje dupliranih zapisa u tabelu. Da bismo omogućili umetanje duplikata, koristimo ključnu reč IGNORE. Sintaksa je sledeća:

sql
INSERT IGNORE INTO naziv_tabele (kolona1, kolona2, ...) VALUES (vrednost1, vrednost2, ...);

Izvlačenje podataka

Korišćenje SELECT komande

SELECT komanda se koristi za preuzimanje podataka iz tabele u bazi podataka. Njena osnovna sintaksa je:

sql
SELECT kolona1, kolona2, ... FROM naziv_tabele;

Na primer, za preuzimanje podataka o zaposlenima sa platom većom od 80.000, možemo upotrebiti sledeći upit:

sql
SELECT ime, email, plata FROM zaposleni WHERE plata > 80000;

Filtriranje rezultata

Za dodatno filtriranje rezultata, možemo koristiti WHERE i HAVING klauzule. WHERE se koristi za filtriranje redova pre izračunavanja agregatnih funkcija, dok HAVING filtrira redove nakon izračunavanja.

Sortiranje i ograničavanje

Rezultate upita možemo sortirati i ograničiti korišćenjem ORDER BY i LIMIT klauzula. ORDER BY se koristi za sortiranje redova po jednoj ili više kolona, dok LIMIT klauzula ograničava broj vraćenih redova.

Spajanje tabela

Korišćenjem JOIN naredbe, možemo kombinovati podatke iz više tabela u jedan rezultat. Postoji nekoliko tipova spajanja, svaki sa specifičnom funkcijom. Najčešći tipovi su:

* Unutrašnje spajanje: Vraća samo redove koji imaju podudaranja u obe tabele.
* Levo spajanje: Vraća sve redove iz leve tabele i samo podudarne redove iz desne tabele.
* Desno spajanje: Suprotno od levog spajanja, vraća sve redove iz desne tabele.
* Spoljašnje spajanje: Vraća sve redove iz obe tabele, bez obzira da li postoji podudaranje ili ne.

Zaključak

Unos i izvoz podataka u MySQL ili MariaDB su ključne operacije za efikasno korišćenje baze podataka. Korišćenjem INSERT i SELECT naredbi, lako možemo upravljati podacima i dobiti potrebne informacije. Pored toga, filtriranje, sortiranje i ograničavanje rezultata omogućavaju nam da precizno kontrolišemo naš upit. Poznavanje ovih tehnika je neophodno za uspešno upravljanje bazama podataka i dobijanje najboljih rezultata iz podataka.

Često postavljana pitanja

1. Koja je razlika između komandi INSERT i INSERT ... SELECT?

Komanda INSERT ubacuje jedan red u tabelu, dok INSERT ... SELECT ubacuje više redova na osnovu rezultata drugog upita ili tabele.

2. Kako sprečiti unos duplikata?

Možemo koristiti UNIQUE ključnu reč prilikom kreiranja tabele ili koristiti INSERT IGNORE naredbu.

3. Kako sortirati rezultate po koloni?

Koristimo ORDER BY klauzulu nakon SELECT naredbe. Na primer: SELECT * FROM zaposleni ORDER BY plata DESC; će sortirati rezultate po plati u opadajućem redosledu.

4. Kako ograničiti broj vraćenih redova?

Koristimo LIMIT klauzulu nakon SELECT naredbe. Na primer: SELECT * FROM zaposleni LIMIT 10; će vratiti samo prvih 10 redova.

5. Šta je spajanje tabela?

Spajanje je operacija kombinovanja podataka iz više tabela u jedinstven rezultat. Koristimo JOIN naredbu da bismo spojili tabele.

6. Koji su različiti tipovi spajanja?

Postoji nekoliko tipova spajanja, uključujući unutrašnje, levo, desno i spoljašnje spajanje.

7. Kako uneti trenutni datum i vreme?

Da bismo uneli trenutni datum i vreme, možemo koristiti funkciju NOW(). Na primer, INSERT INTO termini (datum_vreme) VALUES (NOW());.

8. Kako izbeći SQL injekciju?

SQL injekcija je napad u kojem napadač unosi štetne SQL komande u upit. Da bismo je izbegli, trebalo bi koristiti parametrizovane upite i validirati ulazne podatke.