Ta bort rader

Vi använder DELETE för att radera rader från en tabell.

Lägg SQL-koden för detta exemplet i filen dml_delete.sql och inled filen med en header som berättar vem du är.

--
-- Delete from database skolan.
-- By mos for course "XXX".
-- 2017-12-27
--

Slå upp hur DELETE fungerar i refmanualen och läs på om hur du kan ta bort rader från en tabell.

I princip ser det ut så här.

--
-- Delete rows from table
--
DELETE FROM larare WHERE fornamn = 'Hagrid';

Skriv SQL-kod för att utföra följande:

  1. Radera Hagrid (1 rad).
  2. Radera alla som jobbar på avdelningen DIPT (3 rader).
  3. Radera alla som har en lön, men begränsa antalet rader som får raderas till 2 (LIMIT) (2 rader påverkas).
  4. Radera samtliga återstående lärare.

Det sista kommandot bör ha raderat 2 lärare (2 rader i tabellen).

När du raderar rader så kan det vara bra att lägga till en LIMIT klausul som säger hur många rader du raderar. Annars finns risken att en liten felskrivning i satsen gör att du raderar hela innehållet i tabellen. Ta för vana att alltid använda LIMIT.

Återskapa alla lärare genom att köra SQL-kommandon från filen dml_insert.sql. Du skall nu återigen ha en tabell med samtliga lärare.

#Revision history

  • 2018-03-20: (B, mos) Flyttad varning om safe update tidigare i guiden.
  • 2017-12-28: (A, mos) Första versionen, uppdelad av större dokument.

Document source.