SQL-kommandon: DQL, DDL, DML, DCL och TCL med exempel
โก Smart sammanfattning
SQL-kommandon grupperas i fem undersprรฅk som hanterar en relationsdatabas. DDL definierar struktur, DML รคndrar data, DCL styr รฅtkomst, TCL hanterar transaktioner och DQL hรคmtar data, vart och ett med sin egen uppsรคttning satser och syntax.
Vad รคr SQL?
SQL รคr ett databassprรฅk designat fรถr hรคmtning och hantering av data i en relationsdatabas.
SQL รคr standardsprรฅket fรถr databashantering. Alla RDBMS-system gillar MySQL, MS Access, Oracle, Sybase, Postgres och SQL Server anvรคnder SQL som standardsprรฅk fรถr databaser. Programmeringssprรฅket SQL anvรคnder olika kommandon fรถr olika operationer. Vi kommer att lรคra oss om kommandona DCL, TCL, DQL, DDL och DML i SQL med exempel.
Varfรถr anvรคnda SQL?
Hรคr รคr viktiga skรคl till att anvรคnda SQL:
- Det hjรคlper anvรคndare att fรฅ tillgรฅng till data i RDBMS-system.
- Det hjรคlper dig att beskriva informationen.
- Det lรฅter dig definiera data i en databas och manipulera den specifika datan.
- Med hjรคlp av SQL-kommandon kan du skapa och slรคppa databaser och tabeller.
- Med SQL kan du anvรคnda funktioner i en databas och skapa vyer och lagrade procedurer.
- Du kan stรคlla in behรถrigheter fรถr tabeller, procedurer och vyer.
Kort historik om SQL
Hรคr รคr viktiga landmรคrken frรฅn historia av SQL:
- 1970 โ Dr. Edgar F. "Ted" Codd beskrev en relationsmodell fรถr databaser.
- 1974 โ Structured Query Language dรถk upp, ursprungligen kallat SEQUEL pรฅ IBM.
- 1979 - Oracle slรคppte den fรถrsta kommersiellt tillgรคngliga SQL-baserade databasen, baserad pรฅ IBMs System R-forskningsprototyp.
- 1986 โ ANSI publicerade den fรถrsta SQL-standarden, SQL-86.
- 1989 โ SQL-89 kom som den fรถrsta revisionen av standarden.
- 1992 โ SQL-92 (SQL2) blev den viktigaste baslinje som fortfarande refereras till av de flesta databaser idag.
- 1999 โ SQL:1999 (SQL3) lanserades med funktioner som triggers, rekursiva frรฅgor och objektorientering.
- 2003 โ SQL:2003 lade till fรถnsterfunktioner, sekvensgeneratorer och XML-relaterade funktioner.
- 2006 โ SQL:2006 lade till stรถd fรถr XML Query Language (XQuery).
- 2008 โ SQL:2008 introducerade TRUNCATE-satsen och INSTEAD OF-triggers.
- 2011 โ SQL:2011 fรถrbรคttrade stรถdet fรถr temporala databaser.
- 2016 โ SQL:2016 lade till JSON-stรถd och matchning av radmรถnster (MATCH_RECOGNIZE).
- 2019 โ SQL/MDA (del 15) lade till stรถd fรถr flerdimensionella arrayer i standarden.
- 2023 โ SQL:2023 lade till en inbyggd JSON-datatyp och egenskapsgraffrรฅgor (SQL/PGQ).
- 2024 โ GQL, det fรถrsta nya ISO-databassprรฅket sedan SQL, publicerades som en standard fรถr graffrรฅgor.
- 2026 โ SQL:2023 รคr fortfarande den nuvarande standarden, med nรคsta revision under utveckling hos ISO/IEC.
Typer av SQL-kommandon
Hรคr รคr fem typer av vanligt fรถrekommande SQL-kommandon:
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- Data Control Language (DCL)
- Transaction Control Language (TCL)
- Data Query Language (DQL)

Tabellen nedan sammanfattar de fem kategorierna innan var och en behandlas i detalj.
| Kategori | Syfte | Huvudkommandon |
|---|---|---|
| DDL | Definiera struktur | SKAPA, TA BORT, รNDRING, AVKORTA |
| DML | รndra data | INFOGA, UPPDATERA, DELETE |
| DCL | Kontrollera รฅtkomst | BEVILJANDE, ร TERKALLANDE |
| TCL | Hantera transaktioner | COMMIT, ROLLBACK, SAVEPOINT |
| DQL | Hรคmta data | VรLJA |
Vad รคr DDL?
Data Definition Language hjรคlper dig att definiera databasens struktur eller schema. Lรฅt oss lรคra oss om DDL-kommandon med syntax. De viktigaste DDL-kommandona i SQL รคr CREATE, DROP, ALTER och TRUNCATE.
SKAPA
CREATE-satsen anvรคnds fรถr att definiera databasstrukturen eller schemat:
Syntax:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Till exempel:
Create database university; Create table students; Create view for_students;
FALLA
DROP-kommandot tar bort tabeller och databaser frรฅn RDBMS.
Syntax:
DROP TABLE ;
Till exempel:
Drop object_type object_name; Drop database university; Drop table student;
รNDRA
Med kommandot ALTER kan du รคndra databasens struktur.
Syntax: fรถr att lรคgga till en ny kolumn i tabellen:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Sรฅ hรคr รคndrar du en befintlig kolumn i tabellen:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Till exempel:
Alter table guru99 add subject varchar;
STYMPA
Detta kommando anvรคnds fรถr att ta bort alla rader frรฅn tabellen och frigรถra utrymmet som innehรฅller tabellen.
Syntax:
TRUNCATE TABLE table_name;
Exempel:
TRUNCATE table students;
Vad รคr datamanipulationssprรฅk?
Data Manipulation Language (DML) lรฅter dig modifiera databasinstansen genom att infoga, รคndra och ta bort dess data. Det ansvarar fรถr att utfรถra alla typer av datamodifieringar i en databas. De viktiga DML-kommandona i SQL รคr:
- INFOGA
- UPPDATERING
- RADERA
INFOGA
Denna sats anvรคnds fรถr att infoga data i raderna i en tabell.
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);
Till exempel:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
UPPDATERING
Detta kommando anvรคnds fรถr att uppdatera eller รคndra vรคrdet pรฅ en kolumn i tabellen.
Syntax:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Till exempel:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
RADERA
Detta kommando anvรคnds fรถr att ta bort en eller flera rader frรฅn en tabell.
Syntax:
DELETE FROM table_name [WHERE condition];
Till exempel:
DELETE FROM students WHERE FirstName = 'Jhon';
Vad รคr DCL?
DCL (Data Control Language) innehรฅller kommandon som GRANT och REVOKE, vilka รคr anvรคndbara fรถr att ge rรคttigheter och behรถrigheter. Andra kommandon styr parametrar i databassystemet.
Grant
Det hรคr kommandot anvรคnds fรถr att ge en anvรคndare รฅtkomstbehรถrighet till en databas.
Syntax:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Till exempel:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revok
Det hรคr kommandot รคr anvรคndbart fรถr att รฅterstรคlla behรถrigheter frรฅn anvรคndaren.
Syntax:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Till exempel:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Vad รคr TCL?
Transaction Control Language, eller TCL-kommandon, hanterar transaktionen i databasen. De arbetar direkt med de tillstรฅnd som beskrivs nedan. transaktionshantering.
Begรฅ
Detta kommando anvรคnds fรถr att spara alla transaktioner till databasen.
Syntax:
Commit;
Till exempel:
DELETE FROM Students WHERE RollNo =25; COMMIT;
rollback
Med kommandot Rollback kan du รฅngra transaktioner som inte redan har sparats i databasen.
Syntax:
ROLLBACK;
Exempel:
DELETE FROM Students WHERE RollNo =25;
SPARA PUNKT
Det hรคr kommandot hjรคlper dig att ange en sparpunkt i en transaktion.
Syntax:
SAVEPOINT SAVEPOINT_NAME;
Exempel:
SAVEPOINT RollNo;
Vad รคr DQL?
Data Query Language (DQL) anvรคnds fรถr att hรคmta data frรฅn databasen. Det anvรคnder bara ett kommando, SELECT.
VรLJA
Det hรคr kommandot hjรคlper dig att vรคlja attribut baserat pรฅ villkoret som beskrivs av WHERE-klausulen.
Syntax:
SELECT expressions FROM TABLES WHERE conditions;
Till exempel:
SELECT FirstName FROM Student WHERE RollNo > 15;
TA BORT vs AVKRYP vs SLรPP
Dessa tre kommandon tar alla bort data, men de skiljer sig รฅt i vad de tar bort och om รฅtgรคrden kan รฅterstรคllas. Att fรถrvรคxla dem รคr ett vanligt nybรถrjarmisstag.
| Aspect | RADERA | STYMPA | FALLA |
|---|---|---|---|
| Kategori | DML | DDL | DDL |
| avlรคgsnar | Valda rader | Alla rader | Hela bordet |
| VAR klausul | Tillรฅten | Inte tillรฅtet | ej tillรคmplig |
| rollback | Mรถjligt | Vanligtvis inte | Inte mรถjligt |
| Strukturen bibehรฅlls | Ja | Ja | Nej |
Kort sagt, anvรคnd DELETE fรถr att ta bort specifika rader, TRUNCATE fรถr att tรถmma en tabell snabbt och DROP fรถr att slรคnga tabellen helt.

