SQL-opdrachten: DQL, DDL, DML, DCL en TCL met voorbeelden
โก Slimme samenvatting
SQL-opdrachten zijn onderverdeeld in vijf subtalen die een relationele database beheren. DDL definieert de structuur, DML wijzigt gegevens, DCL regelt de toegang, TCL beheert transacties en DQL haalt gegevens op, elk met een eigen set instructies en syntaxis.

Wat is SQL?
SQL is een databasetaal die is ontworpen voor het ophalen en beheren van gegevens in een relationele database.
SQL is de standaardtaal voor databasebeheer. Alle RDBMS-systemen houden van MySQL, MS-toegang, OracleSybase, PostgreSQL en SQL Server gebruiken SQL als hun standaard databasetaal. De SQL-programmeertaal gebruikt verschillende commando's voor diverse bewerkingen. We zullen de DCL-, TCL-, DQL-, DDL- en DML-commando's in SQL leren kennen aan de hand van voorbeelden.
Waarom SQL gebruiken?
Hieronder volgen belangrijke redenen om SQL te gebruiken:
- Het helpt gebruikers toegang te krijgen tot gegevens in de RDBMS-systeem.
- Het helpt je de gegevens te beschrijven.
- Hiermee kunt u de gegevens in een database definiรซren en die specifieke gegevens manipuleren.
- Met behulp van SQL-opdrachten kunt u databases en tabellen aanmaken en verwijderen.
- Met SQL kun je functies in een database gebruiken en weergaven en opgeslagen procedures maken.
- U kunt machtigingen instellen voor tabellen, procedures en weergaven.
Korte geschiedenis van SQL
Hieronder vindt u belangrijke bezienswaardigheden uit de geschiedenis van SQL:
- 1970 โ Dr. Edgar F. โTedโ Codd beschreef een relationeel model voor databases.
- 1974 โ Structured Query Language verscheen, oorspronkelijk genaamd SEQUEL. IBM.
- 1979 - Oracle bracht de eerste commercieel verkrijgbare SQL-gebaseerde database uit, gebaseerd op IBMHet System R-onderzoeksprototype van 's.
- 1986 โ ANSI publiceerde de eerste SQL-standaard, SQL-86.
- 1989 โ SQL-89 verscheen als de eerste herziening van de standaard.
- 1992 โ SQL-92 (SQL2) werd de belangrijkste basisstandaard die tot op de dag van vandaag nog steeds door de meeste databases wordt gebruikt.
- 1999 โ SQL: SQL3 werd gelanceerd met functies zoals triggers, recursieve query's en objectgeoriรซnteerd programmeren.
- 2003 โ SQL: In 2003 werden vensterfuncties, sequentiegeneratoren en XML-gerelateerde functies toegevoegd.
- 2006 โ SQL:2006 voegde ondersteuning toe voor XML Query Language (XQuery).
- 2008 โ SQL: SQL 2008 introduceerde de TRUNCATE-instructie en INSTEAD OF-triggers.
- 2011 โ SQL:2011 verbeterde ondersteuning voor temporele databases.
- 2016 โ SQL:2016 voegde ondersteuning voor JSON en rijpatroonherkenning (MATCH_RECOGNIZE) toe.
- 2019 โ SQL/MDA (deel 15) voegde ondersteuning voor multidimensionale arrays toe aan de standaard.
- 2023 โ SQL: In 2023 werd een native JSON-datatype en property graph queries (SQL/PGQ) toegevoegd.
- 2024 โ GQL, de eerste nieuwe ISO-databasetaal sinds SQL, werd gepubliceerd als een aanvullende standaard voor grafiekquery's.
- 2026 โ SQL:2023 blijft de huidige standaard, de volgende herziening is in ontwikkeling bij ISO/IEC.
Soorten SQL-opdrachten
Hieronder volgen vijf veelgebruikte SQL-opdrachten:
- Gegevensdefinitietaal (DDL)
- Taal voor gegevensmanipulatie (DML)
- Gegevenscontroletaal (DCL)
- Transactiecontroletaal (TCL)
- Gegevensquerytaal (DQL)

De onderstaande tabel geeft een overzicht van de vijf categorieรซn, waarna elke categorie in detail wordt besproken.
| Categorie | Doel | Belangrijkste commando's |
|---|---|---|
| DDL | Definieer structuur | CREรREN, VERWIJDEREN, WIJZIGEN, INTREKKEN |
| DML | Gegevens wijzigen | INVOEGEN, UPDATEN, VERWIJDEREN |
| DCL | Toegang beheren | VERLENEN, INTREKKEN |
| TCL | Beheer transacties | COMMIT, ROLLBACK, SAVEPOINT |
| DQL | Informatie ophalen | SELECT |
Wat is DDL?
Data Definition Language (DDL) helpt je bij het definiรซren van de databasestructuur of het schema. Laten we de DDL-opdrachten en hun syntaxis eens bekijken. De belangrijkste DDL-opdrachten in SQL zijn CREATE, DROP, ALTER en TRUNCATE.
CREATE
De CREATE-instructie wordt gebruikt om de databasestructuur of het schema te definiรซren:
Syntax:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Bijvoorbeeld:
Create database university; Create table students; Create view for_students;
DROP
Met het DROP-commando worden tabellen en databases uit het RDBMS verwijderd.
Syntax:
DROP TABLE ;
Bijvoorbeeld:
Drop object_type object_name; Drop database university; Drop table student;
ALTER
Met het ALTER-commando kunt u de structuur van de database wijzigen.
Syntax: Een nieuwe kolom aan de tabel toevoegen:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Een bestaande kolom in de tabel wijzigen:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Bijvoorbeeld:
Alter table guru99 add subject varchar;
AFKNOPEN
Deze opdracht wordt gebruikt om alle rijen uit de tabel te verwijderen en de ruimte vrij te maken die de tabel bevat.
Syntax:
TRUNCATE TABLE table_name;
Voorbeeld:
TRUNCATE table students;
Wat is datamanipulatietaal?
Data Manipulation Language (DML) stelt u in staat om een โโdatabase-instantie te wijzigen door gegevens in te voegen, te wijzigen en te verwijderen. Het is verantwoordelijk voor het uitvoeren van alle soorten gegevenswijzigingen in een database. De belangrijkste DML-opdrachten in SQL zijn:
- INSERT
- UPDATE
- VERWIJDEREN
INSERT
Deze instructie wordt gebruikt om gegevens in de rijen van een tabel in te voegen.
Syntax:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Bijvoorbeeld:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
UPDATE
Deze opdracht wordt gebruikt om de waarde van een kolom in de tabel bij te werken of te wijzigen.
Syntax:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Bijvoorbeeld:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
VERWIJDEREN
Deze opdracht wordt gebruikt om een โโof meer rijen uit een tabel te verwijderen.
Syntax:
DELETE FROM table_name [WHERE condition];
Bijvoorbeeld:
DELETE FROM students WHERE FirstName = 'Jhon';
Wat is DCL?
DCL (Data Control Language) bevat commando's zoals GRANT en REVOKE, die nuttig zijn voor het toekennen van rechten en machtigingen. Andere commando's beheren parameters van het databasesysteem.
Grant
Met dit commando geef je een gebruiker toegang tot een database.
Syntax:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Bijvoorbeeld:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revokay
Dit commando is handig om de rechten van de gebruiker terug te nemen.
Syntax:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Bijvoorbeeld:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Wat is TCL?
Transaction Control Language, ofwel TCL-commando's, verwerken transacties binnen de database. Ze werken rechtstreeks met de statussen die hieronder worden beschreven. transactiebeheer.
Plegen
Deze opdracht wordt gebruikt om alle transacties in de database op te slaan.
Syntax:
Commit;
Bijvoorbeeld:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
Met de Rollback-opdracht kunt u transacties ongedaan maken die nog niet in de database zijn opgeslagen.
Syntax:
ROLLBACK;
Voorbeeld:
DELETE FROM Students WHERE RollNo =25;
OPSLAGPUNT
Met deze opdracht kunt u een opslagpunt instellen binnen een transactie.
Syntax:
SAVEPOINT SAVEPOINT_NAME;
Voorbeeld:
SAVEPOINT RollNo;
Wat is DQL?
Data Query Language (DQL) wordt gebruikt om gegevens uit de database op te halen. Het gebruikt slechts รฉรฉn commando: SELECT.
SELECT
Met dit commando kunt u de attributen selecteren op basis van de voorwaarde die wordt beschreven in de WHERE-clausule.
Syntax:
SELECT expressions FROM TABLES WHERE conditions;
Bijvoorbeeld:
SELECT FirstName FROM Student WHERE RollNo > 15;
DELETE vs TRUNCATE vs DROP
Deze drie commando's verwijderen alle drie gegevens, maar ze verschillen in wat ze verwijderen en of de actie ongedaan gemaakt kan worden. Het verwarren ervan is een veelgemaakte beginnersfout.
| Aspect | VERWIJDEREN | AFKNOPEN | DROP |
|---|---|---|---|
| Categorie | DML | DDL | DDL |
| Verwijdert | Geselecteerde rijen | Alle rijen | De hele tafel |
| WHERE-clausule | Toegestaan | Niet toegestaan | Niet van toepassing |
| Rollback | Mogelijk | Meestal niet | Niet mogelijk |
| Structuur behouden | Ja | Ja | Nee |
Kortom, gebruik DELETE om specifieke rijen te verwijderen, TRUNCATE om een โโtabel snel leeg te maken en DROP om de tabel volledig te verwijderen.
