Wat is SQL? De databasetaal simpel uitgelegd
SQL (Structured Query Language, uitgesproken als "S-Q-L" of "sequel") is de standaardtaal voor het werken met relationele databases — het soort dat gegevens opslaat in tabellen met rijen en kolommen, zoals Postgres, MySQL, SQLite en SQL Server. Je gebruikt SQL om vragen te stellen over je gegevens ("welke klanten hebben deze maand geboekt?") en om records toe te voegen, te wijzigen of te verwijderen. Het bestaat sinds de jaren zeventig, is een internationale standaard, en draait een groot deel van de apps in de wereld.
Waarom SQL ertoe doet bij het bouwen met AI
Als je een AI-appbouwer vraagt om "bestellingen op te slaan" of "een lijst met komende boekingen te tonen", moet er iets met de database praten — en in de meeste apps is dat SQL, direct geschreven of gegenereerd door een ORM.
Je hoeft zelf geen SQL te schrijven, maar een beetje begrip loont:
- Je kunt je eigen gegevens controleren. Een korte query beantwoordt "hoeveel aanmeldingen hadden we deze week?" sneller dan het bouwen van een nieuw scherm.
- Je kunt betere rapporten vragen. "Omzet groeperen per maand en dienst" is een SQL-idee. Dat weten maakt je verzoek duidelijker.
- Je ziet gevaarlijke wijzigingen aankomen. Een
DELETEofUPDATEzonderWHERE-clausule raakt elke rij. Dat is het waard om op te vangen voordat het wordt uitgevoerd. - Je gegevens zitten niet vast. SQL is een gedeelde standaard, dus gegevens in een SQL-database kunnen door veel tools worden verplaatst en gelezen.
Een analogie uit het dagelijks leven
Denk aan een zeer goed georganiseerde bibliotheek met een bibliothecaris die alleen een precieze, eenvoudige taal spreekt.
Je loopt zelf niet door de rekken. Je geeft de bibliothecaris een kaartje: "Zoek alle boeken van deze auteur, verschenen na 2010, nieuwste eerst." De bibliothecaris kent het gebouw van binnen en buiten en komt terug met precies die boeken, in die volgorde.
SQL is de taal op het kaartje. Je zegt wat je wilt, niet hoe het te vinden — de database bepaalt zelf de snelste route.
Hoe SQL werkt: tabellen, rijen en kolommen
Een relationele database bewaart gegevens in tabellen. Elke tabel bevat één soort ding, elke rij is één record en elke kolom is één stuk informatie:
customers
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lisbon |
| 2 | Sam Patel | sam@example.com | Leeds |
orders
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42.00 | 2026-09-20 |
| 102 | 2 | 18.50 | 2026-09-22 |
| 103 | 1 | 25.00 | 2026-09-27 |
De kolom customer_id koppelt elke bestelling aan een klant. Die koppeling maakt de database "relationeel".
Een uitgewerkt voorbeeld: echte vragen beantwoorden
1. Gegevens lezen — "toon alle klanten in Lisbon":
SELECT name, email
FROM customers
WHERE city = 'Lisbon';
2. Sorteren en beperken — "de vijf meest recente bestellingen":
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Tabellen combineren — "elke bestelling met de naam van de klant":
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Samenvatten — "totaal uitgegeven per klant":
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
Met de voorbeeldgegevens levert dat Lena Ortiz met 67.00 en Sam Patel met 18.50 op.
5. Gegevens wijzigen:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Porto');
UPDATE customers SET city = 'Porto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
Deze komen overeen met de vier basishandelingen van bijna elke app — aanmaken, lezen, bijwerken en verwijderen, bekend als CRUD.
Een waarschuwing: UPDATE customers SET city = 'Porto'; zonder WHERE-clausule wijzigt elke klant. Controleer altijd de WHERE voordat je een wijziging uitvoert.
De belangrijkste onderdelen van SQL
| Commando | Wat het doet |
|---|---|
SELECT | Gegevens lezen |
INSERT | Nieuwe rijen toevoegen |
UPDATE | Bestaande rijen wijzigen |
DELETE | Rijen verwijderen |
CREATE TABLE / ALTER TABLE | De structuur van een tabel aanmaken of wijzigen |
WHERE | Filteren welke rijen worden geraakt |
JOIN | Gerelateerde tabellen combineren |
GROUP BY | Rijen samenvatten in groepen, met COUNT, SUM, AVG |
ORDER BY / LIMIT | Resultaten sorteren en begrenzen |
SQL is gestandaardiseerd, maar elke database voegt eigen uitbreidingen toe, een dialect genoemd. Postgres, MySQL en SQLite begrijpen alle bovenstaande voorbeelden, terwijl details zoals datumfuncties licht verschillen.
Belangrijke termen
| Term | Betekenis |
|---|---|
| Query | Een SQL-statement, vooral een dat gegevens leest. |
| Tabel / rij / kolom | Een soort ding / één record / één eigenschap. |
| Primaire sleutel | De kolom die elke rij uniek identificeert, meestal id. |
| Vreemde sleutel | Een kolom die verwijst naar een rij in een andere tabel, zoals customer_id. |
| Index | Een opzoekstructuur die zoeken in een kolom veel sneller maakt. |
| Schema | De structuur van alle tabellen en kolommen. |
| Transactie | Een groep wijzigingen die samen slagen of mislukken. |
| SQL-injectie | Een aanval waarbij gebruikersinvoer stiekem in een query wordt gestopt. Voorkomen met geparameteriseerde queries. |
Veelvoorkomende misverstanden
- "SQL is een database." SQL is de taal; Postgres, MySQL en SQLite zijn databases die die taal spreken.
- "SQL is oud, dus achterhaald." Het is volwassen, niet verouderd. Moderne databases en datatools gebruiken het nog steeds, en nieuwere voegen vaak SQL-ondersteuning toe.
- "Alleen ontwikkelaars kunnen SQL gebruiken." Analisten, marketeers en oprichters gebruiken dagelijks eenvoudige queries.
- "SQL kan geen flexibele gegevens aan." Veel SQL-databases slaan ook JSON op. Postgres heeft bijvoorbeeld een
jsonb-type. Zie SQL versus NoSQL. - "Het is prima om de AI elke SQL op productie te laten draaien." Lezen is weinig riskant; wijzigingen en verwijderingen in live gegevens verdienen een back-up en een tweede blik. Zie hoe je de database van je app back-upt.
Wat je aan je AI-builder kunt vragen
- "Laat me de tabellen in mijn database zien en wat elke kolom betekent."
- "Schrijf een query die alleen leest: hoeveel nieuwe aanmeldingen per dag in de afgelopen 30 dagen?"
- "Laat me voordat je een UPDATE of DELETE uitvoert de query zien en hoeveel rijen die zal raken."
- "Voeg indexen toe op de kolommen waarop we het vaakst filteren en sorteren."
- "Zorg dat elke query die gebruikersinvoer gebruikt, geparameteriseerd is."
- "Zet de updates van bestellingen en betalingen in een transactie, zodat ze niet half kunnen slagen."
SQL in Mythex
Als je app gegevens moet opslaan, voegt Mythex een eigen Postgres-database toe aan het project — vraag het in de chat, bijvoorbeeld "sla wachtlijst-e-mails op in een database", of gebruik het commando /database (Database). De agent maakt de tabellen en schrijft de queries, en in de Ask-modus kun je hem elke query in gewone taal laten uitleggen. Voor meer over de database zelf, lees wat is Postgres.
Veelgestelde vragen
Wat is SQL in simpele woorden?
SQL (Structured Query Language) is de standaardtaal voor het werken met relationele databases. Je gebruikt het om vragen te stellen over je gegevens, zoals 'welke bestellingen zijn deze week geplaatst', en om records toe te voegen, te wijzigen of te verwijderen.
Hoe spreek je SQL uit?
Zowel 'S-Q-L' (de letters apart uitspreken) als 'sequel' zijn gangbaar en correct. De taal heette oorspronkelijk SEQUEL, en daar komt de tweede uitspraak vandaan.
Is SQL een programmeertaal?
SQL is een querytaal die is ontworpen om gegevens te beheren. Je beschrijft welk resultaat je wilt, en de database bepaalt zelf hoe het dat bereikt. Het wordt op zichzelf niet gebruikt om hele apps te bouwen, maar het is onderdeel van bijna elke app die een relationele database gebruikt.
Is SQL moeilijk te leren?
De basis is toegankelijk: SELECT, WHERE, ORDER BY, INSERT, UPDATE en DELETE dekken de meeste dagelijkse behoeften en lezen bijna als gewoon Engels. Joins, groeperen en performance-optimalisatie kosten langer om onder de knie te krijgen.
Moet ik SQL kennen om een app met AI te bouwen?
Nee. Een AI-builder schrijft de SQL- of databasecode voor je. Er een beetje van weten helpt je om je gegevens te controleren, om rapporten te vragen en om riskante wijzigingen op te merken voordat ze gebeuren.