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:
- Radera Hagrid (1 rad).
- Radera alla som jobbar på avdelningen DIPT (3 rader).
- Radera alla som har en lön, men begränsa antalet rader som får raderas till 2 (
LIMIT
) (2 rader påverkas). - 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.