MySQL DELETE priekšraksts tiek izmantots, lai noņemtu ierakstus no MySQL tabulas, kas vairs nav nepieciešami datu bāzē. Šis MySQL vaicājums no tabulas izdzēš pilnu rindu un rada izdzēsto rindu skaitu . Tas arī ļauj mums vienā vaicājumā dzēst vairāk nekā vienu ierakstu no tabulas, kas ir izdevīgi, vienlaikus no tabulas noņemot lielu skaitu ierakstu. Izmantojot dzēšanas paziņojumu, mēs varam arī noņemt datus, pamatojoties uz nosacījumiem.
Kad ieraksti tiek izdzēsti, izmantojot šo vaicājumu, mēs to nevaram atgūt . Tāpēc pirms ierakstu dzēšanas no tabulas ieteicams to darīt izveidojiet savas datu bāzes dublējumu . Datu bāzes dublējumkopijas ļauj mums atjaunot datus ikreiz, kad tie būs nepieciešami nākotnē.
Sintakse:
Tālāk ir norādīta sintakse, kas ilustrē, kā izmantot priekšrakstu DELETE:
DELETE FROM table_name WHERE condition;
Iepriekš minētajā paziņojumā mums vispirms ir jānorāda tabulas nosaukums, no kuras mēs vēlamies dzēst datus. Otrkārt, mums ir jānorāda nosacījums ierakstu dzēšanai WHERE klauzulā, kas nav obligāta. Ja priekšrakstā izlaidīsim klauzulu WHERE, šis vaicājums no datu bāzes tabulas noņems veselus ierakstus.
Ja mēs vēlamies dzēst ierakstus no vairākām tabulām, izmantojot vienu DELETE vaicājumu, mums ir jāpievieno PIEVIENOJIES klauzula ar paziņojumu DELETE.
Ja mēs vēlamies izdzēst visus ierakstus no tabulas, nezinot dzēsto rindu skaitu, mums ir jāizmanto SATRĪSTĪTA TABULA paziņojums, kas nodrošina labāku veiktspēju.
javascript datums
Ļaujiet mums saprast, kā darbojas priekšraksts DELETE MySQL caur dažādiem piemēriem.
MySQL DELETE paziņojuma piemēri
Šeit mēs izmantosim 'Darbinieki' un 'Maksājums' tabulas DELETE paziņojuma demonstrēšanai. Pieņemsim, ka tabulās Darbinieki un Maksājumi ir šādi dati:
Ja vēlamies dzēst darbinieku, kura emp_id ir 107 , mums vajadzētu izmantot DELETE paziņojumu ar WHERE klauzulu. Skatiet zemāk esošo vaicājumu:
mysql> DELETE FROM Employees WHERE emp_id=107;
Pēc vaicājuma izpildes tas atgriezīs izvadi, kā parādīts attēlā. Kad ieraksts ir dzēsts, pārbaudiet tabulu, izmantojot SELECT priekšrakstu:
citādi ja java
Ja mēs vēlamies dzēst visus ierakstus no tabulas, nav nepieciešams izmantot WHERE klauzulu ar DELETE priekšrakstu. Skatiet zemāk esošo kodu un izvadi:
Iepriekš redzamajā izvadē redzams, ka pēc visu rindu noņemšanas tabula Darbinieki būs tukša. Tas nozīmē, ka atlasītajā tabulā nav pieejami ieraksti.
MySQL DELETE un LIMIT klauzula
MySQL Limit klauzula tiek izmantota, lai ierobežotu rezultātu kopas atgriežamo rindu skaitu, nevis ienestu visus ierakstus tabulā. Dažreiz mēs vēlamies ierobežot no tabulas dzēšamo rindu skaitu; tādā gadījumā mēs izmantosim LIMIT klauzulu šādi:
DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count;
Jāatzīmē, ka MySQL tabulas rindu secība nav noteikta. Tāpēc mums vienmēr vajadzētu izmantot SAKĀRTOT PĒC klauzulu, izmantojot LIMIT klauzulu.
Piemēram , šāds vaicājums vispirms sakārto darbiniekus pēc viņu vārdiem alfabētiskā secībā un izdzēš no tabulas pirmos trīs darbiniekus:
mysql> DELETE FROM Employees ORDER BY name LIMIT 3;
Tas sniegs šādu izvadi:
MySQL DELETE un JOIN klauzula
JOIN klauzula tiek izmantota, lai MySQL pievienotu divas vai vairākas tabulas. Mēs pievienosim klauzulu JOIN ar priekšrakstu DELETE ikreiz, kad vēlamies dzēst ierakstus no vairākām tabulām vienā vaicājumā. Skatiet zemāk esošo vaicājumu:
mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102;
Izvade:
Pēc izpildes mēs redzēsim izvadi, kā parādīts zemāk esošajā attēlā:
Lai lasītu vairāk informācijas par DELETE paziņojumu ar JOIN klauzulu, noklikšķiniet šeit .