SQL (Structured Query Language) wordt gebruikt voor interactie met relationele databases. U gebruikt het om gegevens in die databases te maken, lezen, bijwerken en verwijderen. Hier volgt een overzicht van de manier waarop u SQL gebruikt, waarin de basisprincipes en enkele veelvoorkomende toepassingen worden behandeld:
1. Verbinding maken met een database:
Voordat u SQL kunt gebruiken, moet u verbinding maken met een databasebeheersysteem (DBMS) zoals MySQL, PostgreSQL, SQL Server, Oracle of SQLite. Meestal gaat het daarbij om het gebruik van een specifieke clienttoepassing (bijvoorbeeld MySQL Workbench, pgAdmin, SQL Server Management Studio) of een programmeertaalinterface (bijvoorbeeld Python met een bibliotheek zoals psycopg2 voor PostgreSQL). Het verbindingsproces omvat het opgeven van het databaseserveradres, de gebruikersnaam, het wachtwoord en de databasenaam.
2. Basis SQL-opdrachten (CRUD-bewerkingen):
De kernfunctionaliteit van SQL draait om vier hoofdbewerkingen:
* Maken (C): Wordt gebruikt om nieuwe databaseobjecten te maken, zoals tabellen, databases, indexen, enz.
```sql
-- Maak een tabel met de naam "klanten"
CREATE TABLE klanten (
id INT PRIMAIRE SLEUTEL,
naam VARCHAR(255),
e-mail VARCHAR(255)
);
```
* Lezen (R): Wordt gebruikt om gegevens uit een database op te halen. Centraal hierin staat de `SELECT`-instructie.
```sql
-- Selecteer alle kolommen uit de tabel "klanten".
SELECTEER * VAN klanten;
-- Selecteer specifieke kolommen
SELECT id, naam VAN klanten;
-- Selecteer gegevens op basis van een voorwaarde (WHERE-clausule)
SELECTEER * VAN klanten WAAR id =1;
```
* Bijwerken (U): Wordt gebruikt om bestaande gegevens in een tabel te wijzigen.
```sql
-- Update het e-mailadres van een klant
UPDATE klanten SET e-mail ='[email protected]' WAAR id =1;
```
* Verwijderen (D): Wordt gebruikt om gegevens uit een tabel te verwijderen.
```sql
-- Verwijder een klant uit de tabel
VERWIJDEREN VAN klanten WAAR id =1;
```
3. Andere belangrijke SQL-opdrachten:
Naast CRUD zijn er nog een aantal andere commando's die cruciaal zijn voor databasebeheer:
* INSERT: Voegt nieuwe rijen toe aan een tabel.
```sql
-- Voeg een nieuwe klant toe
INSERT INTO klanten (id, naam, e-mailadres) VALUES (2, 'John Doe', '[email protected]');
```
* DOE MEE: Combineert rijen uit twee of meer tabellen op basis van een gerelateerde kolom. (bijvoorbeeld 'INNER JOIN', 'LEFT JOIN', 'RIGHT JOIN')
```sql
-- Voorbeeld van een INNER JOIN (vereist gerelateerde tabellen)
SELECTEER orders.order_id, klanten.naam
VAN bestellingen
INNER JOIN-klanten OP orders.customer_id =customers.id;
```
* WAAR: Filtert de gegevens die worden geretourneerd door een `SELECT`-instructie op basis van opgegeven voorwaarden. Deze clausule maakt gebruik van vergelijkingsoperatoren (`=`, `!=`, `>`, `<`, `>=`, `<=`), logische operatoren (`AND`, `OR`, `NOT`) en jokertekens (`%`, `_`).
* BESTEL VIA: Sorteert de resultatenset op basis van een of meer kolommen.
```sql
SELECTEER * BIJ klanten BESTEL OP naam ASC; -- Oplopende volgorde
SELECTEER * BIJ klanten BESTEL VIA id DESC; --Aflopende volgorde
```
* GROEPEREN OP: Groepeert rijen met dezelfde waarden in opgegeven kolommen. Vaak gebruikt met aggregatiefuncties (`COUNT`, `SUM`, `AVG`, `MIN`, `MAX`).
```sql
SELECTEER AANTAL(*) VAN klanten GROEPEREN VIA e-mail; -- Telt klanten voor elk e-mailadres
```
* HET: Filtert groepen gemaakt door `GROUP BY` (vergelijkbaar met `WHERE` maar dan voor groepen).
4. SQL gebruiken bij het programmeren:
U gebruikt SQL niet altijd rechtstreeks via een databaseclient. Veel programmeertalen bieden databaseconnectors waarmee u SQL-query's vanuit uw code kunt uitvoeren. Dit maakt dynamische gegevensmanipulatie en integratie met andere applicatielogica mogelijk.
5. Gegevenstypen:
SQL-databases gebruiken verschillende gegevenstypen (bijvoorbeeld `INT`, `VARCHAR`, `DATE`, `FLOAT`, `BOOLEAN`) om het soort gegevens te definiëren dat elke kolom in een tabel kan bevatten. Het kiezen van het juiste datatype is cruciaal voor data-integriteit en efficiëntie.
Dit is een overzicht op hoog niveau. De details van de SQL-syntaxis en functionaliteit kunnen enigszins variëren, afhankelijk van het DBMS dat u gebruikt. De kernconcepten blijven echter consistent in de meeste systemen. Voor meer informatie kunt u het beste een specifiek DBMS kiezen en de documentatie ervan raadplegen. Er zijn ook veel online tutorials en cursussen beschikbaar om SQL te leren. |