logo

MySQL DELETE-instructie

De MySQL DELETE-instructie wordt gebruikt om records uit de MySQL-tabel te verwijderen die niet langer nodig zijn in de database. Deze query in MySQL verwijdert een volledige rij uit de tabel en produceert het aantal verwijderde rijen . Het stelt ons ook in staat om binnen één enkele query meer dan één record uit de tabel te verwijderen, wat handig is bij het verwijderen van grote aantallen records uit een tabel. Door gebruik te maken van de verwijderverklaring kunnen wij ook onder voorwaarden gegevens verwijderen.

Zodra we de records met deze zoekopdracht hebben verwijderd, kunnen we deze niet meer herstellen . Daarom is het raadzaam dit te doen voordat u records uit de tabel verwijdert maak een back-up van uw database . Dankzij de databaseback-ups kunnen we de gegevens herstellen wanneer we deze in de toekomst nodig hebben.

Syntaxis:

Hieronder vindt u de syntaxis die illustreert hoe u de DELETE-instructie gebruikt:

 DELETE FROM table_name WHERE condition; 

In de bovenstaande verklaring moeten we eerst de tabelnaam opgeven waaruit we gegevens willen verwijderen. Ten tweede moeten we de voorwaarde opgeven om records te verwijderen in de WHERE-clausule, wat optioneel is. Als we de WHERE-clausule in de instructie weglaten, verwijdert deze query hele records uit de databasetabel.

Als we records uit meerdere tabellen willen verwijderen met behulp van een enkele DELETE-query, moeten we de MEEDOEN clausule met de DELETE-instructie.

Als we alle records uit een tabel willen verwijderen zonder het aantal verwijderde rijen te kennen, moeten we de AFGEKORTE TAFEL verklaring die betere prestaties levert.

Laten we begrijpen hoe de DELETE-instructie werkt MySQL via diverse voorbeelden.

webbrowserinstellingen

MySQL DELETE-instructievoorbeelden

Hier gaan we gebruik maken van de 'Medewerkers' En 'Betaling' tabellen voor de demonstratie van de DELETE-instructie. Stel dat de tabellen Werknemers en Betaling de volgende gegevens bevatten:

mysql-verwijderquery
mysql-verwijderquery

Als we een medewerker willen verwijderen van wie emp_id is 107 , moeten we de DELETE-instructie gebruiken met de WHERE-clausule. Zie de onderstaande vraag:

 mysql> DELETE FROM Employees WHERE emp_id=107; 

Na de uitvoering van de query zal de uitvoer worden geretourneerd zoals onderstaande afbeelding. Nadat de record is verwijderd, verifieert u de tabel met behulp van de SELECT-instructie:

mysql-verwijderquery

Als we alle records uit de tabel willen verwijderen, is het niet nodig om de WHERE-clausule te gebruiken met de DELETE-instructie. Zie de onderstaande code en uitvoer:

mysql-verwijderquery

In de bovenstaande uitvoer kunnen we zien dat na het verwijderen van alle rijen de tabel Werknemers leeg zal zijn. Dit betekent dat er geen records beschikbaar zijn in de geselecteerde tabel.

MySQL DELETE- en LIMIT-clausule

De MySQL Limit-clausule wordt gebruikt om het aantal rijen dat wordt geretourneerd uit de resultatenset te beperken, in plaats van dat alle records in de tabel worden opgehaald. Soms willen we het aantal rijen dat uit de tabel wordt verwijderd beperken; in dat geval gebruiken we de BEGRENZING clausule als volgt:

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

Houd er rekening mee dat de volgorde van de rijen in een MySQL-tabel niet gespecificeerd is. Daarom moeten we altijd de BESTEL DOOR -clausule terwijl u de LIMIT-clausule gebruikt.

Bijvoorbeeld , sorteert de volgende zoekopdracht de werknemers eerst alfabetisch op hun naam en verwijdert de eerste drie werknemers uit de tabel:

 mysql> DELETE FROM Employees ORDER BY name LIMIT 3; 

Het geeft de onderstaande uitvoer:

mysql-verwijderquery

MySQL DELETE en JOIN-clausule

De JOIN-clausule wordt gebruikt om de twee of meer tabellen in MySQL toe te voegen. We zullen de JOIN-clausule toevoegen aan de DELETE-instructie wanneer we records uit meerdere tabellen binnen één query willen verwijderen. Zie de onderstaande vraag:

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

Uitgang:

Na uitvoering zien we de uitvoer zoals hieronder afgebeeld:

mysql-verwijderquery

Als u meer informatie wilt lezen over de DELETE-instructie met de JOIN-clausule, Klik hier .