SQL-kommandoer: DQL, DDL, DML, DCL og TCL med eksempler
โก Smart opsummering
SQL-kommandoer er grupperet i fem undersprog, der administrerer en relationsdatabase. DDL definerer struktur, DML รฆndrer data, DCL styrer adgang, TCL administrerer transaktioner, og DQL henter data, hver med sit eget sรฆt af sรฆtninger og syntaks.

Hvad er SQL?
SQL er et databasesprog designet til hentning og hรฅndtering af data i en relationel database.
SQL er standardsproget til databasestyring. Alle RDBMS-systemer kan lide MySQL, MS Access, Oracle, Sybase, Postgres og SQL Server bruger SQL som deres standard databasesprog. SQL-programmeringssproget bruger forskellige kommandoer til forskellige operationer. Vi vil lรฆre om DCL-, TCL-, DQL-, DDL- og DML-kommandoerne i SQL med eksempler.
Hvorfor bruge SQL?
Her er vigtige grunde til at bruge SQL:
- Det hjรฆlper brugerne med at fรฅ adgang til data i RDBMS system.
- Det hjรฆlper dig med at beskrive dataene.
- Det giver dig mulighed for at definere dataene i en database og manipulere de specifikke data.
- Ved hjรฆlp af SQL-kommandoer kan du oprette og slette databaser og tabeller.
- SQL giver dig mulighed for at bruge funktioner i en database og oprette visninger og lagrede procedurer.
- Du kan indstille tilladelser til tabeller, procedurer og visninger.
Kort historie om SQL
Her er vigtige vartegn fra SQLs historie:
- 1970 - Dr. Edgar F. "Ted" Codd beskrev en relationel model for databaser.
- 1974 โ Structured Query Language dukkede op, oprindeligt kaldet SEQUEL. IBM.
- 1979 - Oracle udgav den fรธrste kommercielt tilgรฆngelige SQL-baserede database, baseret pรฅ IBMs System R-forskningsprototype.
- 1986 โ ANSI udgav den fรธrste SQL-standard, SQL-86.
- 1989 โ SQL-89 ankom som den fรธrste revision af standarden.
- 1992 โ SQL-92 (SQL2) blev den primรฆre basis, som de fleste databaser stadig refererer til i dag.
- 1999 โ SQL:1999 (SQL3) blev lanceret med funktioner som triggere, rekursive forespรธrgsler og objektorientering.
- 2003 โ SQL:2003 tilfรธjede vinduesfunktioner, sekvensgeneratorer og XML-relaterede funktioner.
- 2006 โ SQL:2006 tilfรธjede understรธttelse af XML Query Language (XQuery).
- 2008 โ SQL:2008 introducerede TRUNCATE-sรฆtningen og INSTEAD OF-triggere.
- 2011 โ SQL:2011 forbedrede understรธttelse af temporale databaser.
- 2016 โ SQL:2016 tilfรธjede JSON-understรธttelse og matchning af rรฆkkemรธnstre (MATCH_RECOGNIZE).
- 2019 โ SQL/MDA (del 15) tilfรธjede understรธttelse af flerdimensionelle arrays til standarden.
- 2023 โ SQL:2023 tilfรธjede en indbygget JSON-datatype og egenskabsgrafforespรธrgsler (SQL/PGQ).
- 2024 โ GQL, det fรธrste nye ISO-databasesprog siden SQL, blev udgivet som en ledsagende standard til grafforespรธrgsler.
- 2026 โ SQL:2023 er fortsat den nuvรฆrende standard, og den nรฆste revision er under udvikling hos ISO/IEC.
Typer af SQL-kommandoer
Her er fem typer af udbredte SQL-kommandoer:
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- Data Control Language (DCL)
- Transaktionskontrolsprog (TCL)
- Data Query Language (DQL)

Tabellen nedenfor opsummerer de fem kategorier, fรธr hver enkelt gennemgรฅs i detaljer.
| Kategori | Formรฅl | Hovedkommandoer |
|---|---|---|
| DDL | Definer struktur | OPRET, SLIP, รNDRE, AFKORTE |
| DML | Rediger data | INDSรT, OPDATER, SLET |
| DCL | Kontroller adgang | TILDELING, TILBAGETAGELSE |
| TCL | Administrer transaktioner | COMMIT, ROLLBACK, SAVEPOINT |
| DQL | Hent data | SELECT |
Hvad er DDL?
Data Definition Language hjรฆlper dig med at definere databasestrukturen eller -skemaet. Lad os lรฆre om DDL-kommandoer med syntaks. De vigtigste DDL-kommandoer i SQL er CREATE, DROP, ALTER og TRUNCATE.
SKAB
CREATE-sรฆtningen bruges til at definere databasestrukturen eller -skemaet:
Syntaks:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
For eksempel:
Create database university; Create table students; Create view for_students;
DROP
DROP-kommandoen fjerner tabeller og databaser fra RDBMS'en.
Syntaks:
DROP TABLE ;
For eksempel:
Drop object_type object_name; Drop database university; Drop table student;
รNDRE
ALTER-kommandoen giver dig mulighed for at รฆndre databasens struktur.
Syntaks: for at tilfรธje en ny kolonne i tabellen:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Sรฅdan รฆndrer du en eksisterende kolonne i tabellen:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
For eksempel:
Alter table guru99 add subject varchar;
afkorte
Denne kommando bruges til at slette alle rรฆkker fra tabellen og frigรธre pladsen, der indeholder tabellen.
Syntaks:
TRUNCATE TABLE table_name;
Eksempel:
TRUNCATE table students;
Hvad er datamanipulationssprog?
Data Manipulation Language (DML) giver dig mulighed for at รฆndre databaseinstansen ved at indsรฆtte, รฆndre og slette dens data. Det er ansvarligt for at udfรธre alle typer dataรฆndringer i en database. De vigtige DML-kommandoer i SQL er:
- INSERT
- OPDATER
- SLET
INSERT
Denne sรฆtning bruges til at indsรฆtte data i rรฆkkerne i en tabel.
Syntaks:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
For eksempel:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
OPDATER
Denne kommando bruges til at opdatere eller รฆndre vรฆrdien af โโen kolonne i tabellen.
Syntaks:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
For eksempel:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
SLET
Denne kommando bruges til at fjerne en eller flere rรฆkker fra en tabel.
Syntaks:
DELETE FROM table_name [WHERE condition];
For eksempel:
DELETE FROM students WHERE FirstName = 'Jhon';
Hvad er DCL?
DCL (Data Control Language) indeholder kommandoer som GRANT og REVOKE, som er nyttige til at give rettigheder og tilladelser. Andre kommandoer styrer parametre i databasesystemet.
Grant
Denne kommando bruges til at give en bruger adgangsrettigheder til en database.
Syntaks:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
For eksempel:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revorden
Denne kommando er nyttig til at tage tilladelser tilbage fra brugeren.
Syntaks:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
For eksempel:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Hvad er TCL?
Transaction Control Language, eller TCL-kommandoer, hรฅndterer transaktionen i databasen. De arbejder direkte med de tilstande, der er beskrevet under transaktionsstyring.
Commit
Denne kommando bruges til at gemme alle transaktioner i databasen.
Syntaks:
Commit;
For eksempel:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Tilbagerulning
Med kommandoen "Rollback" kan du fortryde transaktioner, der ikke allerede er gemt i databasen.
Syntaks:
ROLLBACK;
Eksempel:
DELETE FROM Students WHERE RollNo =25;
SAVEPOINT
Denne kommando hjรฆlper dig med at angive et gemt punkt i en transaktion.
Syntaks:
SAVEPOINT SAVEPOINT_NAME;
Eksempel:
SAVEPOINT RollNo;
Hvad er DQL?
Data Query Language (DQL) bruges til at hente data fra databasen. Det bruger kun รฉn kommando, SELECT.
SELECT
Denne kommando hjรฆlper dig med at vรฆlge attributterne baseret pรฅ den betingelse, der er beskrevet af WHERE-klausulen.
Syntaks:
SELECT expressions FROM TABLES WHERE conditions;
For eksempel:
SELECT FirstName FROM Student WHERE RollNo > 15;
SLET vs. AFKORTI vs. SLIP
Disse tre kommandoer fjerner alle data, men de adskiller sig i, hvad de fjerner, og om handlingen kan rulles tilbage. At forveksle dem er en almindelig begynderfejl.
| Aspect | SLET | afkorte | DROP |
|---|---|---|---|
| Kategori | DML | DDL | DDL |
| Fjerner | Valgte rรฆkker | Alle rรฆkker | Hele bordet |
| WHERE-klausul | Tilladt | Ikke tilladt | Ikke relevant |
| Tilbagerulning | Mulig | Normalt ikke | Ikke muligt |
| Struktur bevaret | Ja | Ja | Ingen |
Kort sagt, brug DELETE til at fjerne bestemte rรฆkker, TRUNCATE til at tรธmme en tabel hurtigt og DROP for at kassere tabellen helt.
