Hvad er SQL? Fuldstændig formular og grundlæggende vejledning

⚡ Smart opsummering

Hvad er SQL? Structured Query Language er standardsproget til at arbejde med relationelle databaser. Det giver dig mulighed for at oprette skemaer, forespørge på poster, opdatere rækker, administrere tilladelser og forbinde moderne applikationer til databaseprogrammer som f.eks. PostgreSQL, MySQL, og SQL Server.

  • 📘 Definition: SQL står for Structured Query Language, en ANSI- og ISO-standard, der bruges til at definere, forespørge på og kontrollere data i en relationsdatabase.
  • 🧩 Udsagnstyper: DDL-, DML-, DCL-, TCL- og DQL-gruppekommandoer såsom CREATE, INSERT, UPDATE, DELETE, SELECT og DROP.
  • 🏛️ Standard: ANSI SQL:2023 tilføjede native JSON-understøttelse og PostgreSQL-style standard egenskabsgrafforespørgsler (SQL/PGQ).
  • 🇧🇷 Motorer: PostgreSQL 17, MySQL 8, Oracle 23ai og SQL Server 2022 implementerer alle store dele af den moderne SQL-standard.
  • 🆚 SQL vs. NoSQL: SQL håndhæver skemaer, join-funktioner og ACID-transaktioner, mens NoSQL bruger streng struktur til at forbedre horisontal skala og fleksible dokumenter.
  • 🤖 AI-vinkel: Tekst-til-SQL-assistenter som GitHub Copilot og Vanna AI oversætter nu spørgsmål på almindeligt engelsk til eksekverbare SQL-forespørgsler.

Hvad er SQL?

Hvad er SQL?

SQL er standardsproget til at arbejde med relationelle databaser. Det bruges til at indsætte, søge, opdatere og slette poster, og det kan også optimere og vedligeholde databaser. SQL er en ANSI- og ISO-standard, så den samme kernesyntaks kører på tværs af databaseprogrammer som f.eks. PostgreSQL, MySQL, Oracle, og SQL Server.

SQL fuld formular

SQL står for Struktureret forespørgselssprog, udtales som "SQL" eller "See-Quel". IBM udviklede det i 1970'erne, og relationelle databaser som f.eks. MySQL, Oracle Database, Microsoft SQL Server, PostgreSQLog SAP Sybase bruger ANSI SQL som deres fundament.

Sådan bruger du SQL

Du udsteder SQL ved at skrive en sætning, der navngiver operationen, måltabellen og eventuelle filterbetingelser. En SELECT-forespørgsel, der returnerer medlemmer ældre end 30, ser sådan ud:

SELECT * FROM Members WHERE Age > 30;

Syntaksen på tværs af databaser er stort set den samme, fordi alle større databasemotorer implementerer ANSI-standarden. Nogle få RDBMS-produkter tilføjer proprietære dialekter, for eksempel T-SQL i SQL Server og PL/SQL i Oracle.

Klik link. hvis videoen ikke er tilgængelig

Hvad bruges SQL til?

Her er de 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 kan du oprette og slippe databaser og tabeller.
  • Med SQL kan du bruge funktioner i en database, oprette en visning og skrive lagrede procedurer.
  • Du kan indstille tilladelser til tabeller, procedurer og visninger.
  • SQL understøtter analytiske opgaver såsom rapportering, business intelligence og dataindlæsning til maskinlæringspipelines.

En 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 på IBM Forskning.
  • 1978 - IBM udgivet System/R.
  • 1986 – ANSI standardiserede SQL som SQL-86.
  • 1989 – Den første kommercielle version af SQL-standarden blev udgivet.
  • 1999 – SQL:1999 tilføjede triggere og objektorienterede funktioner.
  • SQL:2003 – Vinduefunktioner og XML-funktioner.
  • SQL:2006 – Understøttelse af XML-forespørgselssprog.
  • SQL:2011 – Understøttelse af midlertidige databaser.
  • SQL:2016 – JSON, genkendelse af rækkemønstre, polymorfe tabelfunktioner.
  • SQL:2023 – Forespørgsler om egenskabsgrafer (SQL/PGQ) og strammere JSON-håndtering.

Typer af SQL-sætninger

Her er fem typer af udbredte SQL-sætninger:

  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)
  • Data Control Language (DCL)
  • Transaktionskontrolsprog (TCL)
  • Data Query Language (DQL)

Liste over SQL-kommandoer

Her er en liste over nogle af de mest almindeligt anvendte SQL-kommandoer:

  • SKAB – definerer databasestrukturen eller -skemaet.
  • INSERT – indsætter data i rækkerne i en tabel.
  • OPDATER – opdaterer eksisterende data i en database.
  • SLET – fjerner en eller flere rækker fra en tabel.
  • SELECT – vælger de attributter, der matcher den betingelse, der er beskrevet af WHERE-klausulen.
  • DROP – fjerner tabeller og databaser.
  • FUSIONERE – udfører en INSERT eller UPDATE i en enkelt sætning baseret på en matchbetingelse.

SQL proces

Når du udfører en SQL-kommando, analyserer databasemotoren sætningen, vælger en udførelsesplan og kører den mod lagringslaget.

Vigtige komponenter i denne proces er:

  • SQL Query Engine
  • Optimeringsmotor
  • Forespørgselsafsender
  • Klassisk forespørgselsmotor

Den klassiske forespørgselsmotor håndterer ikke-SQL-forespørgsler, mens SQL-forespørgselsmotoren behandler den strukturerede arbejdsbelastning.

SQL proces
SQL proces

SQL standarder

SQL dækker oprettelse, sletning, hentning og ændring af rækker i databaser samt adgangskontrol. Det er en ANSI (American National Standards Institute) og ISO-standard, og den nuværende udgave er ISO / IEC 9075: 2023, almindeligvis kaldet SQL:2023. Standarden er opdelt i flere dele:

Del Beskrivelse
Del 1 – SQL/Framework Tilbyder de logiske koncepter, der understøtter alle andre dele.
Del 2 – SQL/Foundation Definerer den centrale syntaks og semantik i SQL.
Del 3 – SQL/CLI Angiver den grænseflade på opkaldsniveau, der bruges af ODBC og lignende drivere.
Del 4 – Vedvarende lagrede moduler Lagrede rutiner, eksterne rutiner og proceduremæssige sprogudvidelser til SQL.
Del 9 – Håndtering af eksterne data Tilføjer syntaks og definitioner, der giver SQL adgang til ikke-SQL-datakilder, f.eks. filer.
Del 10 – Objektsprogbindinger Angiver syntaksen og semantikken for indlejring af SQL i Java.
Del 11 – SQL/Skema Informations- og definitionsskemaer.
Del 13 – SQL/JRT SQL-rutiner og -typer ved hjælp af Java programmeringssprog.
Del 14 – SQL/XML SQL og XML, herunder XMLTYPE- og XQuery-integrationen.
Del 15 – SQL/MDA Giver SQL-understøttelse til flerdimensionelle arrays.
Del 16 – SQL/PGQ Tilføjet i SQL:2023 for at definere egenskabsgrafforespørgsler oven på relationelle tabeller.

Moderne SQL-motorer

Hver motor implementerer det meste af ANSI-kernen og tilføjer sine egne udvidelser:

  • PostgreSQL 17: Open source med streng standardoverholdelse og omfattende JSON-understøttelse.
  • MySQL 8: Populær blandt webapps; understøtter vinduesfunktioner, CTE'er og en dokumentlagringstilstand.
  • Microsoft SQL Server 2022: Enterprise-motor med forespørgselsintelligens og Azure Synapse spejling.
  • Oracle Database 23ai: Kombinerer SQL med vektorsøgning og JSON-relationelle dualitetsvisninger.
  • SQLite: Letvægts filbaseret motor indlejret i mobilapps og browsere.

Cloud-lagre som f.eks. Amazon rødforskydning, Google BigQuery og Snowflake eksponerer også ANSI SQL-dialekter, hvilket gør sproget bærbart fra en bærbar computer til analyser i petabyte-skala.

SQL-sprogelementer

Her er de vigtige elementer i SQL-sproget:

  • nøgleord: Reserverede ord som f.eks. SELECT, FROM eller WHERE, der bygger hver sætning.
  • Identifikatorer: Navne på databaseobjekter såsom bruger-id'er, tabeller og kolonner.
  • Strenge: Literale strenge eller udtryk med VARCHAR- eller CHAR-datatyper.
  • Udtryk: Dannet af konstanter, SQL-operatorer, kolonnenavne og underforespørgsler.
  • Søgebetingelser: Filtrer rækker eller kontrolflowsætninger som HVIS.
  • Særlige værdier: Værdier som f.eks. CURRENT_TIMESTAMP, der bruges i udtryk og kolonnestandarder.
  • Variabler: De fleste motorer understøtter lokale, globale og forbindelsesniveauvariabler i lagrede procedurer.
  • Kommentarer: Enkeltlinjede (–) og blokkommentarer (/* */) dokumenterer SQL, men udføres ikke.
  • NULL-værdi: NULL markerer en værdi, der er ukendt, mangler eller ikke relevant.

Hvad er en database i SQL?

A database er en samling af tabeller, der lagrer strukturerede data. En tabel indeholder rækker (poster eller tupler) og kolonner (attributter).

Hver kolonne gemmer en specifik type information, for eksempel navne, datoer, beløb eller tal. Relationer mellem tabeller håndhæves med primære og fremmednøgler, hvilket er det, der gør databasen "relationel".

Hvad er NoSQL?

NoSQL er en kategori af Databasestyringssystemer hvis primære træk er manglende overholdelse af relationelle koncepter. NoSQL betyder "Ikke kun SQL". Kategorien voksede med internetgiganter som f.eks. Google, Facebook og Amazon, der håndterer gigantiske datamængder.

Når relationelle databaser håndterer enorme mængder, kan svartiderne blive langsommere. Du kan "skalere op" ved at opgradere hardware eller "skalere ud" ved at fordele belastningen på tværs af flere værter.

NoSQL-databaser er ikke-relationelle butikker designet til webapplikationer. De bruger ikke altid SQL eller håndhæver strenge skemaer, og ACID (AtomEgenskaber (f.eks. icitet, konsistens, isolering, holdbarhed) er ikke altid garanteret, selvom moderne systemer som f.eks. MongoDB og Cassandra tilbyder nu justerbare transaktionstilstande.



Hvorfor det giver mening at lære SQL efter NoSQL

I betragtning af at NoSQL skalerer bedre end relationelle modeller, kan du undre dig hvorfor nogen stadig ville lære SQLNoSQL-databaser er specialiserede og bedst egnede til store ustrukturerede datasæt, men de fleste forretningsapplikationer er stadig afhængige af relationelle databaser og deres værktøjer.

Relationelle databaser har følgende fordele i forhold til NoSQL:

  • Moden model for datalagring og -administration, afgørende for virksomhedsbrugere.
  • Understøttelse af visninger, så brugerne kun kan se autoriserede data.
  • Understøttelse af lagrede procedurer, der skubber forretningslogik ind i databasen.
  • Stærkere sikkerhedsmodeller, rollebaseret adgangskontrol og revisionsfunktioner.
  • SQL er det centrale sprog inden for BI, dashboards og AI-værktøjer, der kræver struktureret input.

Efterspørgslen efter fagfolk, der kan håndtere relationelle databaser, fortsætter voksende, så det er stadig en klar fordel at lære det grundlæggende i SQL.

SQL og AI: Tekst-til-SQL-værktøjer

SQL er nu et målsprog for AI-assistenter. Tekst-til-SQL Værktøjer oversætter almindelige engelske spørgsmål, såsom "vis sidste kvartals top 10 kunder efter omsætning", til eksekverbar SQL. Populære muligheder inkluderer GitHub Copilot, Vanna AI, Microsoft Copilot ind Azure SQL, og Oracle Vælg AI. Gennemgå altid genereret SQL for korrekthed, sikkerhed og indeksering, før du kører det på produktionsdata.

De bedste bøger til at lære SQL

Her er nogle af de bedste SQL-bøger:

  • SQL-vejledning for begyndere:

    Denne SQL tutorial for begyndere PDF'en dækker grundlæggende databasekoncepter, MS-SQL-kommandoer og avancerede emner såsom SQL-joins.

  • SQL på 10 minutter: Eksempler på farvekode viser, hvordan SQL-sætninger er struktureret, plus genveje og færdige løsninger. KØB NU
  • SQL Kogebog: Teknikker som at bruge SQL til at analysere tegn eller afgrænsede elementer i en streng. KØB NU
  • SQL: The Complete Reference: Dækker vinduesfunktioner, pivotering af rækker til kolonner og omvendt pivotering. KØB NU
  • SQL Lommeguide: Underviser i SQL-funktioner, syntaks for regulære udtryk og typekonvertering. KØB NU

For flere SQL-bøger – Klik her

Ofte Stillede Spørgsmål

SQL står for Structured Query Language. Det udtales enten som de tre bogstaver "SQL" eller som "See-Quel", et kaldenavn, der er arvet fra originalen. IBM SEQUEL-prototypen blev udviklet i 1970'erne.

SQL er det standardiserede sprog til forespørgsler på relationelle databaser. MySQL er et af mange databasehåndteringssystemer, der implementerer SQL. Andre motorer, der også bruger SQL, inkluderer PostgreSQL, Microsoft SQL Server, Oracle Databaseog SQLite.

Den nuværende standard er ISO/IEC 9075:2023, almindeligvis kaldet SQL:2023. Den tilføjede del 16 af SQL/PGQ til egenskabsgrafforespørgsler og præciserede JSON-håndtering, der byggede på JSON- og rækkemønsterfunktionerne introduceret i SQL:2016.

Ja. Tekst-til-SQL-værktøjer som f.eks. GitHub Copilot, Vanna AI, og Microsoft Copilot ind Azure SQL omdanner almindelige engelske prompts til forespørgsler. Gennemgå altid den genererede SQL for korrekthed, sikkerhed og indeksering, før du kører den.

SQL forbereder træningsdata: feature engineering, joins, filtre og aggregeringer sker alle i lageret. Motorer som Oracle 23ai, BigQuery ML og PostgreSQL Med pgvector kan du nu køre vektorlignende søgninger direkte i SQL til hentningsforøget generering.

De fleste begyndere kan skrive grundlæggende SELECT-, INSERT-, UPDATE- og DELETE-sætninger efter to til tre ugers fokuseret øvelse. Det tager typisk et par måneder med regelmæssigt praktisk arbejde at opnå mellemliggende færdigheder med joins, underforespørgsler, vinduesfunktioner og forespørgselsjustering.

Opsummer dette indlæg med: