DDL, DML og DQL: Forstå forskellene mellem SQL’s grundlæggende byggesten

DDL, DML og DQL: Forstå forskellene mellem SQL’s grundlæggende byggesten

Når man arbejder med databaser, støder man hurtigt på forkortelserne DDL, DML og DQL. De er alle dele af SQL – det sprog, der bruges til at kommunikere med relationelle databaser som MySQL, PostgreSQL og SQL Server. Men hvad dækker de egentlig over, og hvordan adskiller de sig fra hinanden? Her får du en gennemgang af SQL’s tre grundlæggende byggesten – og hvorfor det er vigtigt at kende forskellen.
SQL – mere end bare forespørgsler
SQL står for Structured Query Language og bruges til at oprette, ændre, hente og manipulere data i databaser. Mange forbinder SQL med at “spørge” databasen – altså at hente data – men sproget rummer meget mere end det. Det er opdelt i flere underkategorier, hvoraf de tre mest centrale er:
- DDL (Data Definition Language) – til at definere og ændre strukturen i databasen.
- DML (Data Manipulation Language) – til at indsætte, opdatere og slette data.
- DQL (Data Query Language) – til at hente og analysere data.
Lad os se nærmere på, hvad hver af dem bruges til i praksis.
DDL – når du bygger selve databasen
DDL handler om at definere, hvordan databasen ser ud. Det er her, du opretter tabeller, bestemmer datatyper og sætter regler for, hvordan data hænger sammen. Typiske DDL-kommandoer er:
- CREATE – opretter nye tabeller, databaser eller andre objekter.
- ALTER – ændrer strukturen på eksisterende tabeller, fx tilføjer en ny kolonne.
- DROP – sletter tabeller eller databaser permanent.
Man kan sige, at DDL er “arkitekturen” i databasen. Det er her, du lægger fundamentet, før du begynder at fylde data ind. Ændringer med DDL påvirker selve strukturen – og kræver derfor omtanke, da de ofte ikke kan fortrydes uden konsekvenser.
DML – når du arbejder med dataene
Når strukturen er på plads, kommer DML i spil. Her handler det om at manipulere selve indholdet i databasen – altså de rækker og kolonner, der indeholder data. De mest brugte DML-kommandoer er:
- INSERT – tilføjer nye rækker med data.
- UPDATE – ændrer eksisterende data.
- DELETE – fjerner data fra tabeller.
DML er det, man bruger i den daglige drift: når en webshop gemmer en ny ordre, når en bruger opdaterer sin profil, eller når gamle data slettes. Det er her, databasen “lever” og ændrer sig over tid.
DQL – når du henter og analyserer data
DQL står for Data Query Language og bruges til at hente data ud af databasen. Den centrale kommando her er SELECT, som gør det muligt at vælge præcis de data, man vil se – fx alle kunder fra en bestemt by eller alle ordrer over en vis værdi.
DQL er det, der gør SQL til et så kraftfuldt værktøj for analytikere og udviklere. Med SELECT kan man kombinere data fra flere tabeller, filtrere, sortere og gruppere resultater – og dermed få indsigt i, hvad dataene fortæller.
Hvorfor opdelingen betyder noget
Selvom DDL, DML og DQL alle er dele af SQL, har de forskellige formål og kræver forskellige rettigheder i databasen. En databaseadministrator (DBA) arbejder ofte med DDL, mens udviklere og analytikere typisk bruger DML og DQL i deres daglige arbejde.
At kende forskellen gør det lettere at forstå, hvordan databasen fungerer – og at undgå fejl. For eksempel bør man ikke give almindelige brugere adgang til DDL-kommandoer, da de kan ændre eller slette hele tabeller ved en fejl.
En samlet helhed
DDL, DML og DQL udgør tilsammen kernen i SQL. De repræsenterer tre niveauer af interaktion med databasen: struktur, indhold og forespørgsel. Når man forstår, hvordan de spiller sammen, får man et solidt fundament for at arbejde effektivt og sikkert med data – uanset om man er udvikler, dataanalytiker eller bare nysgerrig på, hvordan databaser fungerer.















