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.

  • ๐Ÿ—๏ธ DDL: CREATE, DROP, ALTER og TRUNCATE definerer og endrer skjemaet for tabeller og databaser.
  • โœ๏ธ DML: INSERT, UPDATE og DELETE endrer radene i en tabell.
  • ๐Ÿ”‘ DCL: GRANT og REVOKE gir og fjerner tilgangsrettigheter pรฅ databaseobjekter.
  • ๐Ÿ”„ TCL: COMMIT, ROLLBACK og SAVEPOINT styrer hvordan transaksjoner lagres eller angres.
  • ๐Ÿ” DQL: SELECT henter rader, filtrert etter WHERE-klausulen.
  • ๐Ÿ—„๏ธ Standardsprรฅk: Alle stรธrre RDBMS-er, fra MySQL til Oracle og SQL Server, bruker SQL.
  • โš ๏ธ Nรธkkelkontrast: Bรฅde TRUNCATE og DELETE tรธmmer rader, men TRUNCATE er DDL og er ikke rad-for-rad.

SQL-kommandoer DQL DDL DML DCL TCL

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)
Typer SQL-kommandoer
Typer SQL

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.

Spรธrsmรฅl og svar

DELETE er en DML-kommando som fjerner valgte rader og kan rulles tilbake. TRUNCATE er en DDL-kommando som fjerner alle rader samtidig, er raskere og kan vanligvis ikke rulles tilbake.

De tilhรธrer Data Control Language, eller DCL. GRANT gir en bruker rettigheter pรฅ et databaseobjekt, og REVOKE fjerner disse rettighetene, som til sammen kontrollerer tilgang og sikkerhet.

Ja. Tekst-til-SQL-modeller gjรธr en forespรธrsel pรฅ naturlig sprรฅk om til en SELECT-setning eller annen setning mot et kjent skjema. Se alltid gjennom den genererte spรธrringen fรธr du kjรธrer den pรฅ produksjonsdata.

Ja. Ved รฅ lese utfรธrelsesplanen kan AI foreslรฅ en indeks, en omskrevet sammenfรธyning eller en WHERE-endring som reduserer kostnadene. Forslaget bรธr testes, siden den raskeste planen avhenger av dataene.

DDL definerer eller endrer strukturen til databasen, for eksempel tabeller og kolonner. DML endrer dataene som ligger i denne strukturen, gjennom INSERT, UPDATE og DELETE. Struktur kontra innhold er den viktigste forskjellen.

Oppsummer dette innlegget med: