Skip to main content

New Page

1️⃣ Gebruikersrechten (GRANT & REVOKE)

🔹 GRANT

Doel: rechten geven aan een gebruiker

Syntax:


GRANT rechten ON database.tabel TO 'gebruikersnaam'@'DataArnhem';

✅ Voorbeeld: SELECT & INSERT rechten geven


GRANT SELECT, INSERT ON school.kandidaten TO 'alex'@'DataArnhem';

➡️ Gebruiker alex:

  • mag data bekijken (SELECT)

  • mag data toevoegen (INSERT)

  • mag geen UPDATE of DELETE uitvoeren


🔹 REVOKE

Doel: rechten verwijderen


REVOKE ALL PRIVILEGES ON school.kandidaten FROM 'alex'@'DataArnhem';

➡️ Alle rechten van gebruiker alex zijn verwijderd


2️⃣ SELECT – data ophalen

🔹 Alle kolommen tonen


SELECT * FROM kandidaten;

🔹 Specifieke kolommen tonen


SELECT naam, leeftijd FROM kandidaten;

🔹 SELECT met WHERE


SELECT naam FROM kandidaten WHERE leeftijd >= 18;

➡️ Alleen kandidaten van 18 jaar of ouder


3️⃣ INSERT – data toevoegen


INSERT INTO kandidaten (naam, leeftijd) VALUES ('Sanne', 20);

4️⃣ INNER JOIN – 2 tabellen koppelen

📌 Wanneer gebruiken?

  • Als informatie in meerdere tabellen staat

  • Altijd koppelen via ID


Tabellen:

  • kandidaten(id, naam)

  • examens(id, kandidaat_id, score)

✅ Voorbeeld JOIN


SELECT kandidaten.naam, examens.score FROM kandidaten INNER JOIN examens ON kandidaten.id = examens.kandidaat_id;

5️⃣ JOIN met 3 tabellen + AVG

Tabellen:

  • examens(kandidaat_id, vak_id, score)

  • vakken(id, vaknaam)


🔹 Gemiddelde score per vak


SELECT vakken.vaknaam, AVG(examens.score) AS gemiddelde FROM examens INNER JOIN vakken ON examens.vak_id = vakken.id GROUP BY vakken.vaknaam;

6️⃣ Extra voorbeeld: meerdere JOINs


SELECT kandidaten.naam, vakken.vaknaam, examens.score FROM kandidaten INNER JOIN examens ON kandidaten.id = examens.kandidaat_id INNER JOIN vakken ON examens.vak_id = vakken.id;

➡️ Volledig overzicht per kandidaat per vak


🧠 Examen-onthoudlijst

  • GRANT ... TO 'naam'@'DataArnhem'

  • REVOKE ALL PRIVILEGES

  • INNER JOIN ... ON ...

  • AVG() → altijd GROUP BY