DDL commands
DDL: Data Description Language (or Statements) is de groep SQL statements waarmee je tabellen kunt aanmaken en verwijderen (CREATE, ALTER, DROP)
Create
Hiermee maak je een tabel aan.
CREATE TABLE student (
stud_id CHAR(9),
voornaam VARCHAR(25),
tussenv VARCHAR(10),
achternaam VARCHAR(25),
geb_datum DATE,
reistijd DECIMAL(7,2)
);
Alter
Met alter kun je de structuur van een al aangemaakte tabel wijzigen.
Gebruik dit niet te vaak, soms is het beter om een nieuwe database te maken.
- Dit is omdat het een dure database actie is, het kost dus een boel om te doen.
Drop
Met drop kan je een tabel verwijderen.
Dit is niet meer ongedaan te maken.
Null
Null staat voor niks/leeg.
Null is niet van toepassing of onbekend.
Null is niet 0 of een spatie.
Datatypes
| Type | Betekenis |
|---|---|
| varchar(x) | Tekst van lengte x |
| char(x) | Tekst van lengte x |
| int | Geheel getal |
| decimal (x,y) | Getal met x posities, met een decimal separator op positie y |
| date | Datum |
| CLOB | Character Large Object: grote teksten gigabytes |
| BLOB | Binary Large Object: grote binaire bestanden van gigabytes |
Constraints
Constraints zijn beperkingen/aanwijzingen die gelden voor een kolom of groep van kolommen .
Er zijn 5 constraints voor tabellen.
| Naam | Afkorting | Betekenis | |
|---|---|---|---|
| 1 | Primary Key | PK | Identificeert een rij |
| 2 | Foreign Key | FK | Verwijst naar een andere rij |
| 3 | Unique | UK | Uniek in die kolom |
| 4 | Not Null | NN | Mag niet leeg zijn |
| 5 | Check | C | Controle op inhoud |
Constraint 1: Primary Key
- De primary key is de identificerende sleutel
- Is nooit leeg (nooit null)
- Bevat een unieke waarde
- Maximaal een PK per tabel
Constraint 2: Foreign Key
- Is de refererende sleutel
- Verwijst naar een andere kolom
- Kan leeg (null) zijn
- Is niet uniek
- Een foreign key kan specificeren wat er moet gebeuren met het child record bij een delete/update van het parent record.
Constraint 3: Unique constraint (key)
- Unique constraint dwingt uniciteit af.
- Kan meerdere keren in een tabel voorkomen
- Iedere waarde in een kolom is uniek
- Niet altijd ingevuld
Constraint 4: Not Null
- Dwingt af dat iets ingevuld moet zijn
- Zoals bijvoorbeeld een voornaam
Constraint 5: Check
- Dwingt af dat er een bepaalde waarde is opgenomen.
Dit kan bijvoorbeeld gebruikt worden om de invoer van niet integere gegevens te voorkomen.
DML
DML: Data Manipulation Language
Insert
insert into student values
(534845,‘Gonny',null,‘Henkes’);
Of
insert into student
(student_nr, voornaam, achternaam)
values (534845,‘Gonny',‘Henkes');
Dus:
INSERT INTO tbl_name (column1, column2,…)
VALUES(value1, value2,…);
Delete
delete from student;
Maar dit zal alles verwijderen, beter is dus:
delete from student
where student_nr = 527727;
Dus:
DELETE FROM table_name
[WHERE condition];
Update
update student
set email = ‘Thijn.vanKempen@han.nl’
where student_nr = 514697
Dus:
UPDATE table
SET column = expression
[,column = expression
,...]
[WHERE condition];
DRL
DRL: Data Retrieval Language is het statement dat we het meest zullen gebruiken
Het is ook het meest complexe statement
Het begint altijd met het select statement
Select
select kolommen
from tabel
Distinct
Distinct zorgt voor alleen maar unieke waardes in de resultaat set.
select distinct klas_id
from student
Where
De where clausule legt een filter op de rijen voor specifieke selectie.
select *
from student
where voornaam = ‘Freek’
Operatoren
| Operator | Betekenis |
|---|---|
| = | Gelijk aan |
| > | Groter dan |
| > | Kleiner dan |
| >= | Groter of gelijk aan |
| ⇐ | Kleiner of gelijk aan |
| != en <> | Niet gelijk aan |
Order by
De order by legt een sortering aan op de resultaat set.
select *
from student
order by achternaam
De volgorde is standaard ASC (default)
- ASC - Ascending, laag naar hoog
- DESC - Descending, hoog naar laag