logo

Izjava MySQL DELETE

MySQL DELETE naredba koristi se za uklanjanje zapisa iz MySQL tablice koji više nisu potrebni u bazi podataka. Ovaj upit u MySQL-u briše cijeli red iz tablice i daje broj izbrisanih redaka . Također nam omogućuje brisanje više od jednog zapisa iz tablice unutar jednog upita, što je korisno pri uklanjanju velikog broja zapisa iz tablice. Korištenjem naredbe za brisanje također možemo ukloniti podatke na temelju uvjeta.

Nakon što izbrišemo zapise pomoću ovog upita, ne možemo ga vratiti . Stoga se prije brisanja bilo kojeg zapisa iz tablice preporučuje napravite sigurnosnu kopiju vaše baze podataka . Sigurnosne kopije baze podataka omogućuju nam vraćanje podataka kad god nam zatrebaju u budućnosti.

Sintaksa:

Sljedeća je sintaksa koja ilustrira kako koristiti naredbu DELETE:

 DELETE FROM table_name WHERE condition; 

U gornjoj izjavi prvo moramo navesti naziv tablice iz koje želimo izbrisati podatke. Drugo, moramo navesti uvjet za brisanje zapisa u klauzuli WHERE, koja je opcionalna. Ako izostavimo klauzulu WHERE u izjavi, ovaj će upit ukloniti cijele zapise iz tablice baze podataka.

Ako želimo izbrisati zapise iz više tablica pomoću jednog DELETE upita, moramo dodati PRIDRUŽITI klauzula s naredbom DELETE.

Ako želimo izbrisati sve zapise iz tablice, a da ne znamo broj izbrisanih redaka, moramo koristiti KRNJENA TABLICA izjava koja daje bolju izvedbu.

kako ažurirati u Javi

Hajde da shvatimo kako naredba DELETE radi u MySQL kroz razne primjere.

Primjeri naredbi MySQL DELETE

Ovdje ćemo upotrijebiti 'Zaposlenici' i 'Plaćanje' tablice za demonstraciju naredbe DELETE. Pretpostavimo da tablice zaposlenika i plaćanja sadrže sljedeće podatke:

mysql brisanje upita
mysql brisanje upita

Ako želimo izbrisati zaposlenika čiji emp_id je 107 , trebali bismo koristiti naredbu DELETE s klauzulom WHERE. Pogledajte donji upit:

 mysql> DELETE FROM Employees WHERE emp_id=107; 

Nakon izvršenja upita, vratit će izlaz kao na slici ispod. Nakon što se zapis izbriše, provjerite tablicu pomoću izjave SELECT:

pokušaj uhvatiti javu
mysql brisanje upita

Ako želimo izbrisati sve zapise iz tablice, nema potrebe koristiti klauzulu WHERE s naredbom DELETE. Pogledajte donji kod i izlaz:

mysql brisanje upita

U gornjem izlazu možemo vidjeti da će nakon uklanjanja svih redaka tablica Zaposlenici biti prazna. To znači da nema dostupnih zapisa u odabranoj tablici.

MySQL klauzula DELETE i LIMIT

Klauzula MySQL Limit koristi se za ograničavanje broja redaka koji se vraćaju iz skupa rezultata, umjesto dohvaćanja cijelih zapisa u tablici. Ponekad želimo ograničiti broj redaka koji se brišu iz tablice; u tom slučaju ćemo koristiti OGRANIČITI klauzula kako slijedi:

 DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count; 

Treba napomenuti da redoslijed redaka u MySQL tablici nije određen. Stoga uvijek trebamo koristiti NARUČI PO klauzulu dok koristite klauzulu LIMIT.

Na primjer , sljedeći upit prvo sortira zaposlenike prema njihovim imenima po abecedi i briše prva tri zaposlenika iz tablice:

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

To će dati donji rezultat:

mysql brisanje upita

MySQL klauzula DELETE i JOIN

Klauzula JOIN koristi se za dodavanje dvije ili više tablica u MySQL. Dodat ćemo klauzulu JOIN s naredbom DELETE kad god želimo izbrisati zapise iz više tablica unutar jednog upita. Pogledajte donji upit:

 mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102; 

Izlaz:

Nakon izvršenja, vidjet ćemo izlaz kao na slici ispod:

mysql brisanje upita

Da biste pročitali više informacija o naredbi DELETE s klauzulom JOIN, kliknite ovdje .