SQL-kommandoer: DQL, DDL, DML, DCL og TCL med eksempler
โก Smart oppsummering
SQL-kommandoer er gruppert i fem undersprรฅk som administrerer en relasjonsdatabase. DDL definerer struktur, DML endrer data, DCL kontrollerer tilgang, TCL administrerer transaksjoner og DQL henter data, hver med sitt eget sett med setninger og syntaks.

Hva er SQL?
SQL er et databasesprรฅk designet for henting og hรฅndtering av data i en relasjonsdatabase.
SQL er standardsprรฅket for databasebehandling. Alle RDBMS-systemene liker MySQL, MS Access, Oracle, Sybase, Postgres og SQL Server bruker SQL som standard databasesprรฅk. Programmeringssprรฅket SQL bruker forskjellige kommandoer for forskjellige operasjoner. Vi lรฆrer om DCL-, TCL-, DQL-, DDL- og DML-kommandoene i SQL med eksempler.
Hvorfor bruke SQL?
Her er viktige grunner til รฅ bruke SQL:
- Det hjelper brukere med รฅ fรฅ tilgang til data i RDBMS system.
- Det hjelper deg med รฅ beskrive dataene.
- Den lar deg definere dataene i en database og manipulere de spesifikke dataene.
- Ved hjelp av SQL-kommandoer kan du opprette og slette databaser og tabeller.
- SQL lar deg bruke funksjoner i en database, og opprette visninger og lagrede prosedyrer.
- Du kan angi tillatelser for tabeller, prosedyrer og visninger.
Kort historie om SQL
Her er viktige landemerker fra historien til SQL:
- 1970 โ Dr. Edgar F. "Ted" Codd beskrev en relasjonsmodell for databaser.
- 1974 โ Structured Query Language dukket opp, opprinnelig kalt SEQUEL pรฅ IBM.
- 1979 - Oracle utgitt den fรธrste kommersielt tilgjengelige SQL-baserte databasen, basert pรฅ IBMs System R-forskningsprototype.
- 1986 โ ANSI publiserte den fรธrste SQL-standarden, SQL-86.
- 1989 โ SQL-89 kom som den fรธrste revisjonen av standarden.
- 1992 โ SQL-92 (SQL2) ble den viktigste grunnlinjen som fortsatt refereres til av de fleste databaser i dag.
- 1999 โ SQL:1999 (SQL3) ble lansert med funksjoner som utlรธsere, rekursive spรธrringer og objektorientering.
- 2003 โ SQL:2003 la til vindusfunksjoner, sekvensgeneratorer og XML-relaterte funksjoner.
- 2006 โ SQL:2006 la til stรธtte for XML Query Language (XQuery).
- 2008 โ SQL:2008 introduserte TRUNCATE-setningen og INSTEAD OF-utlรธsere.
- 2011 โ SQL:2011 forbedret stรธtte for temporale databaser.
- 2016 โ SQL:2016 la til JSON-stรธtte og samsvar med radmรธnstre (MATCH_RECOGNIZE).
- 2019 โ SQL/MDA (del 15) la til stรธtte for flerdimensjonale arrayer i standarden.
- 2023 โ SQL:2023 la til en innebygd JSON-datatype og egenskapsgrafspรธrringer (SQL/PGQ).
- 2024 โ GQL, det fรธrste nye ISO-databasesprรฅket siden SQL, ble publisert som en standard for grafspรธrringer.
- 2026 โ SQL:2023 er fortsatt den nรฅvรฆrende standarden, med neste revisjon under utvikling hos ISO/IEC.
Typer SQL-kommandoer
Her er fem typer mye brukte SQL-kommandoer:
- Datadefinisjonssprรฅk (DDL)
- Datamanipulasjonssprรฅk (DML)
- Datakontrollsprรฅk (DCL)
- Transaksjonskontrollsprรฅk (TCL)
- Data Query Language (DQL)

Tabellen nedenfor oppsummerer de fem kategoriene fรธr hver enkelt dekkes i detalj.
| Kategori | Formรฅl | Hovedkommandoer |
|---|---|---|
| DDL | Definer struktur | OPPRETT, SLIP, ENDRE, AVKORTIGER |
| DML | Endre data | SETT INN, OPPDATER, SLETT |
| DCL | Kontroller tilgang | GJENNOMFรR, TILBAKEKALL |
| TCL | Administrer transaksjoner | COMMIT, ROLLBACK, SAVEPOINT |
| DQL | Hent data | VELG |
Hva er DDL?
Data Definition Language hjelper deg med รฅ definere databasestrukturen eller skjemaet. La oss lรฆre om DDL-kommandoer med syntaks. De viktigste DDL-kommandoene i SQL er CREATE, DROP, ALTER og TRUNCATE.
SKAPE
CREATE-setningen brukes til รฅ definere databasestrukturen eller skjemaet:
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-systemet.
Syntaks:
DROP TABLE ;
For eksempel:
Drop object_type object_name; Drop database university; Drop table student;
ENDRE
ALTER-kommandoen lar deg endre strukturen til databasen.
Syntaks: for รฅ legge til en ny kolonne i tabellen:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Slik endrer du en eksisterende kolonne i tabellen:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
For eksempel:
Alter table guru99 add subject varchar;
TRUNKER
Denne kommandoen brukes til รฅ slette alle radene fra tabellen og frigjรธre plassen som inneholder tabellen.
Syntaks:
TRUNCATE TABLE table_name;
Eksempel:
TRUNCATE table students;
Hva er datamanipulasjonssprรฅk?
Data Manipulation Language (DML) lar deg endre databaseinstansen ved รฅ sette inn, endre og slette dataene. Det er ansvarlig for รฅ utfรธre alle typer datamodifikasjoner i en database. De viktige DML-kommandoene i SQL er:
- INSERT
- OPPDATERING
- SLETT
INSERT
Denne setningen brukes til รฅ sette inn data i radene i en tabell.
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');
OPPDATERING
Denne kommandoen brukes til รฅ oppdatere eller endre verdien til 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;
SLETT
Denne kommandoen brukes til รฅ fjerne en eller flere rader fra en tabell.
Syntaks:
DELETE FROM table_name [WHERE condition];
For eksempel:
DELETE FROM students WHERE FirstName = 'Jhon';
Hva er DCL?
DCL (Data Control Language) inneholder kommandoer som GRANT og REVOKE, som er nyttige for รฅ gi rettigheter og tillatelser. Andre kommandoer kontrollerer parametere i databasesystemet.
Grant
Denne kommandoen brukes til รฅ gi en bruker tilgangsrettigheter til en database.
Syntaks:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
For eksempel:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revoke
Denne kommandoen er nyttig for รฅ ta tilbake tillatelser fra brukeren.
Syntaks:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
For eksempel:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
Hva er TCL?
Transaksjonskontrollsprรฅk, eller TCL-kommandoer, hรฅndterer transaksjonen i databasen. De fungerer direkte med tilstandene beskrevet under transaksjonshรฅndtering.
Forplikte
Denne kommandoen brukes til รฅ lagre alle transaksjonene i databasen.
Syntaks:
Commit;
For eksempel:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
Med kommandoen ยซRollbackยป kan du angre transaksjoner som ikke allerede er lagret i databasen.
Syntaks:
ROLLBACK;
Eksempel:
DELETE FROM Students WHERE RollNo =25;
SAVEPOINT
Denne kommandoen hjelper deg med รฅ angi et lagringspunkt i en transaksjon.
Syntaks:
SAVEPOINT SAVEPOINT_NAME;
Eksempel:
SAVEPOINT RollNo;
Hva er DQL?
Data Query Language (DQL) brukes til รฅ hente data fra databasen. Den bruker bare รฉn kommando, SELECT.
VELG
Denne kommandoen hjelper deg med รฅ velge attributtene basert pรฅ betingelsen beskrevet av WHERE-klausulen.
Syntaks:
SELECT expressions FROM TABLES WHERE conditions;
For eksempel:
SELECT FirstName FROM Student WHERE RollNo > 15;
SLETT vs. AVKORTI vs. SLIP
Disse tre kommandoene fjerner alle data, men de er forskjellige i hva de fjerner og om handlingen kan rulles tilbake. ร forveksle dem er en vanlig nybegynnerfeil.
| Aspekt | SLETT | TRUNKER | DROP |
|---|---|---|---|
| Kategori | DML | DDL | DDL |
| Fjerner | Valgte rader | Alle rader | Hele bordet |
| HVOR klausul | Lov | Ikke tillatt | Ikke aktuelt |
| Rollback | Mulig | Vanligvis ikke | Ikke mulig |
| Strukturen beholdt | Ja | Ja | Nei |
Kort sagt, bruk DELETE for รฅ fjerne bestemte rader, TRUNCATE for รฅ tรธmme en tabell raskt, og DROP for รฅ forkaste tabellen helt.
