SQL

3. DML

3. DML – Data Manipulation Language

När strukturen och tabellerna är på plats med DDL använder vi DML (Data Manipulation Language) för att arbeta med själva innehållet i databasen.

DML brukar ofta förknippas med akronymen CRUD:

  • Create (INSERT)
  • Read (SELECT)
  • Update (UPDATE)
  • Delete (DELETE)

1. Lägga till data – INSERT INTO

För att stoppa in nya rader i en tabell använder vi INSERT INTO.

-- Lägg till en ny klass
INSERT INTO Klasser (KlassNamn)
VALUES ('TE24A');

-- Lägg till två elever i klassen med KlassID = 1
INSERT INTO Elever (Fornamn, Efternamn, Epost, KlassID)
VALUES 
    ('Anna', 'Andersson', 'anna.a@skola.se', 1),
    ('Björn', 'Berg', 'bjorn.b@skola.se', 1);

2. Läsa och hämta data – SELECT

SELECT är det mest använda kommandot i SQL. Det används för att ställa frågor (queries) till databasen.

Hämta alla kolumner

SELECT * FROM Elever;

Hämta specifika kolumner

SELECT Fornamn, Epost FROM Elever;

Filtrera resultat med WHERE

-- Hämta bara elever som heter Anna
SELECT * FROM Elever
WHERE Fornamn = 'Anna';

-- Hämta elever vars ElevID är större än 5
SELECT * FROM Elever
WHERE ElevID > 5;

Sortera resultat med ORDER BY

-- Sortera elever efter efternamn i bokstavsordning (A-Ö)
SELECT * FROM Elever
ORDER BY Efternamn ASC;

-- Sortera fallande (Ö-A)
SELECT * FROM Elever
ORDER BY Efternamn DESC;

3. Uppdatera data – UPDATE

För att ändra befintlig data använder vi UPDATE.

⚠️ VIKTIGT: Glöm ALDRIG WHERE-villkoret när du kör UPDATE! Om du utelämnar WHERE kommer alla rader i hela tabellen att ändras!

-- Ändra e-postadress för en specifik elev
UPDATE Elever
SET Epost = 'anna.nyepost@skola.se'
WHERE ElevID = 1;

4. Ta bort data – DELETE

För att radera rader ur en tabell använder vi DELETE FROM.

⚠️ VIKTIGT: Även här måste du vara extremt försiktig med WHERE. Utan WHERE töms hela tabellen på data!

-- Ta bort eleven med ElevID 2
DELETE FROM Elever
WHERE ElevID = 2;

Sammanfattande översikt

Handling SQL-Kommando Kom ihåg!
Lägg till INSERT INTO tabell (kolumn) VALUES (värde) Matcha datatyperna rätt.
Hämta SELECT kolumn FROM tabell Använd WHERE för att filtrera.
Uppdatera UPDATE tabell SET kolumn = värde WHERE ... Glöm inte WHERE!
Radera DELETE FROM tabell WHERE ... Glöm inte WHERE!