SQL-snydeark med kommandoer og Description (2026)

โšก Smart opsummering

Dette SQL-snydeark samler de kommandoer, en arbejdende udvikler bruger dagligt, arrangeret efter opgave. Hvert afsnit kombinerer den nรธjagtige syntaks med en enkel beskrivelse, der dรฆkker databaseoprettelse, datatyper, forespรธrgsler, filtrering, joining og indeksering.

  • ๐Ÿ—„๏ธ Strukturkommandoer: OPRET DATABASE, OPRET TABEL, ร†NDRE, OMDร˜DE og SLIP definerer og omformer skemaet.
  • ๐Ÿ”ข Datatyper: Numeriske, tekst-, dato- og binรฆre typer angiver lagerstรธrrelsen og det gyldige omrรฅde for hver kolonne.
  • ๐Ÿ”Ž Hentningskommandoer: SELECT med WHERE, IN, LIKE og REGEXP indsnรฆvrer et resultatsรฆt til de rรฆkker, der er vigtige.
  • โœ๏ธ ร†ndringskommandoer: INSERT, UPDATE og DELETE รฆndrer gemte rรฆkker, og hver accepterer en valgfri betingelse.
  • ๐Ÿ“Š Aggregeringskommandoer: GROUPร‰R EFTER med COUNT, MIN, MAX, SUM og AVG opsummerer data, og HAVING filtrerer grupperne.
  • ๐Ÿ”— Kombinationskommandoer: JOIN fletter tabeller side om side, mens UNION stabler resultaterne af to forespรธrgsler.

SQL snydeark

Opret database- og tabelkommandoer

Hver SQL-session starter med en database og mindst รฉn tabel til at indeholde rรฆkkerne.

Kommando Beskrivelse
CREATE DATABASE database1; Opret database
CREATE DATABASE IF NOT EXISTS database1; HVIS IKKE EKSISTERER lader dig instruere MySQL serveren for at kontrollere eksistensen af โ€‹โ€‹en database med et lignende navn, fรธr databasen oprettes.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci; Tegnsรฆttet latin1 bruger sorteringen latin1_swedish_ci, som er den svenske rรฆkkefรธlge uden forskel pรฅ store og smรฅ bogstaver.
SHOW DATABASES; Du kan se en liste over eksisterende databaser ved at kรธre denne SQL-kommando.
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; Opret tabelsyntaks

SQL datatyper snydeark

Datatypen for en kolonne bestemmer, hvad den kan gemme, og hvor meget plads hver rรฆkke optager.

Numeriske datatyper

Kommando Beskrivelse
TINYINT( ) -128 til 127 normal, 0 til 255 USIGNERT.
SMALLINT( ) -32768 til 32767 normalt
0 til 65535 USIGNET.
MEDIUMINT( ) -8388608 til 8388607 normalt
0 til 16777215 USIGNET.
INT( ) -2147483648 til 2147483647 normalt
0 til 4294967295 USIGNET.
BIGINT( ) -9223372036854775808 til 9223372036854775807 normalt
0 til 18446744073709551615 USIGNET.
FLOAT Et lille omtrentligt tal med et flydende decimaltegn.
DOUBLE( , ) Et stort omtrentligt tal med et flydende decimalpunkt.
DECIMAL( , ) Et prรฆcist fastpunktstal. Det foretrukne valg til lagring af valutavรฆrdier.

Tekstdatatyper

Kommando Beskrivelse
CHAR( ) En sektion med fast lรฆngde fra 0 til 255 tegn.
VARCHAR( ) En sektion med variabel lรฆngde fra 0 til 65535 tegn.
TINYTEXT En streng med en maksimal lรฆngde pรฅ 255 tegn.
TEXT En streng med en maksimal lรฆngde pรฅ 65535 tegn.
BLOB Binรฆre data med en maksimal lรฆngde pรฅ 65535 bytes.
MEDIUMTEXT En streng med en maksimal lรฆngde pรฅ 16777215 tegn.
MEDIUMBLOB Binรฆre data med en maksimal lรฆngde pรฅ 16777215 bytes.
LONGTEXT En streng med en maksimal lรฆngde pรฅ 4294967295 tegn.
LONGBLOB Binรฆre data med en maksimal lรฆngde pรฅ 4294967295 bytes.

Dato/tid datatyper

Kommando Beskrivelse
DATE ร…ร…ร…ร…-MM-DD
DATETIME ร…ร…ร…ร…-MM-DD HH: MM: SS
TIMESTAMP ร…ร…ร…ร…-MM-DD TT:MM:SS, gemt i UTC og konverteret til sessionens tidszone.
TIME HH: MM: SS

Andre datatyper

Kommando Beskrivelse
ENUM At gemme รฉn tekstvรฆrdi valgt fra en liste over foruddefinerede tekstvรฆrdier.
SET Dette bruges ogsรฅ til at gemme tekstvรฆrdier valgt fra en liste over foruddefinerede tekstvรฆrdier. Det kan indeholde flere vรฆrdier.
BOOL Synonym for TINYINT(1), bruges til at gemme boolske vรฆrdier.
BINARY Ligesom CHAR; forskellen er, at tekst gemmes i binรฆrt format.
VARBINARY Ligesom VARCHAR; forskellen er, at tekst gemmes i binรฆrt format.

SQL SELECT-sรฆtningskommando

SELECT er den kommando, der bruges til at lรฆse rรฆkker tilbage fra en tabel.

Kommando Beskrivelse
SELECT * FROM table1; Vรฆlg hver kolonne fra tabellen
SELECT t1, t2, t3, t4 FROM table1; Vi er kun interesserede i at fรฅ t1-, t2-, t3- og t4-felterne.
SELECT CONCAT(t1, ' (', t3, ')'), t4 FROM table2; Sammenfรธjning af kolonnevรฆrdier til en enkelt outputkolonne
SELECT column_name | value | expression [AS] alias_name; Syntaks for aliasfeltnavne

SQL WHERE-sรฆtning med AND, OR, IN, NOT IN kommandoer

WHERE-klausulen filtrerer rรฆkker, og operatorerne nedenfor kan kombineres i den.

Kommando Beskrivelse
SELECT * FROM tableName WHERE condition; WHERE-klausulsyntaks
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; WHERE-klausul kombineret med den logiske AND-operator
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; WHERE-klausul kombineret med den logiske OR-operator
SELECT * FROM table2 WHERE t1 IN (1,2,3); WHERE-klausul kombineret med IN-nรธgleordet
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); WHERE-klausul kombineret med NOT IN-nรธgleordet
SELECT * FROM table2 WHERE t3 = 'Female'; WHERE-klausul kombineret med sammenligningsoperatoren lig med (=)
SELECT * FROM table3 WHERE t3 > 2000; WHERE-klausul kombineret med sammenligningsoperatoren stรธrre end (>)
SELECT * FROM table1 WHERE t1 <> 1; WHERE-klausul kombineret med sammenligningsoperatoren ikke lig med (<>)

SQL-kommando INSERT INTO Table

Kommando Beskrivelse
INSERT INTO table_name(column_1, column_2, ...) VALUES (value_1, value_2, ...); Grundlรฆggende syntaks for SQL INSERT-kommandoen
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); Indsรฆt data i en tabel
INSERT INTO table_1 SELECT * FROM table_2; Indsรฆttelse i en tabel fra en anden tabel

SQL DELETE kommando

Kommando Beskrivelse
DELETE FROM table_name [WHERE condition]; Slet en rรฆkke i MySQL

SQL Update-kommando

Kommando Beskrivelse
UPDATE table_name SET column_name = new_value [WHERE condition]; Opdater kommandosyntaks

ORDER BY i SQL: DESC & ASC kommando

Kommando Beskrivelse
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC]; Grundlรฆggende syntaks for ORDER BY-klausulen
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N]; DESC og ASC syntaks

SQL GROUP BY og HAVING Klausul kommando

GROUP BY kollapser rรฆkker i grupper, og HAVING filtrerer disse grupper, efter de er dannet.

Gruppe af

Kommando Beskrivelse
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition]; GROUP BY-syntaks

Grouping og aggregerede funktioner

Kommando Beskrivelse
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2; Antag, at vi vil have det samlede antal t2 kolonnevรฆrdier i vores database.

HAVE klausul

Kommando Beskrivelse
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; Returnerer alle t4-vรฆrdier for rรฆkker i tabel2, hvis t1_id er x1.

SQL Wildcards-kommandoer for Like, NOT Like, Escape, ( % ), ( _ )

Jokertegn lader LIKE matche delvise strenge.

% procent-jokertegnet i kommandoen MySQL

Kommando Beskrivelse
SELECT statements... WHERE fieldname LIKE 'xxx%'; Grundlรฆggende syntaks for jokertegnet % procent, som matcher et hvilket som helst antal tegn

_ understreg jokertegn kommando

Kommando Beskrivelse
SELECT * FROM table1 WHERE t3 LIKE 'x2_'; Understregningen matcher prรฆcis รฉt tegn.

IKKE Ligesom jokertegn kommando

Kommando Beskrivelse
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_'; Antag, at vi รธnsker rรฆkkerne i tabel1, hvis t3-vรฆrdi ikke matcher mรธnsteret.

Undslip sรธgeordet jokertegn kommando

Kommando Beskrivelse
LIKE '67#%' ESCAPE '#'; Tjekker for den litterale streng โ€œ67%โ€, fordi # undslipper jokertegnet.

SQL Regular Expressions (REGEXP)

Kommando Beskrivelse
SELECT statements... WHERE fieldname REGEXP 'pattern'; Grundlรฆggende syntaks for et match med regulรฆre udtryk

Regulรฆrt udtryk Metakarakterer

Kommando Beskrivelse
* Metategnet asterisk (*) matcher nul eller flere forekomster af den foranstรฅende streng.
+ Plus-metategnet (+) matcher en eller flere forekomster af den foranstรฅende streng.
? Spรธrgsmรฅlstegnet (?) matcher nul eller รฉn forekomst af den fรธrgรฅende streng.
. Punktummetategnet (.) matcher et hvilket som helst enkelttegn undtagen en ny linje.
[abc] Tegnlisten [abc] matcher et hvilket som helst af de omsluttede tegn.
[^abc] Tegnlisten [^abc] matcher ethvert tegn undtagen dem, der er omsluttet.
[A-Z] [AZ]-omrรฅdet matcher alle store bogstaver.
[a-z] Intervallet [az] matcher alle smรฅ bogstaver.
[0-9] Omrรฅdet [0-9] matcher ethvert ciffer fra 0 til 9.
^ Cirkumflekstegnet (^) forankrer kampen i begyndelsen.
| Den lodrette bjรฆlke (|) isolerer alternativer.
[[:<:]] Markรธren [[:<:]] matcher begyndelsen af โ€‹โ€‹ord.
[[:>:]] Markรธren [[:>:]] matcher slutningen af โ€‹โ€‹ord.
[:class:] Markรธren [:class:] matcher en tegnklasse, for eksempel [:alpha:] for bogstaver, [:space:] for mellemrum, [:punct:] for tegnsรฆtning og [:upper:] for store bogstaver.

SQL Functions kommandoer

String funktioner

Kommando Beskrivelse
SELECT t1_id, t2, UCASE(t2) FROM table1; UCASE-funktionen tager en streng som parameter og konverterer alle bogstaver til store bogstaver.

Numeriske funktioner

Kommando Beskrivelse Eksempel
DIV Heltalsafdeling SELECT 23 DIV 6;
/ Afdeling SELECT 23 / 6;
- Undertraction SELECT 23 - 6;
+ Tilsรฆtning SELECT 23 + 6;
* Multiplikation SELECT 23 * 6 AS multiplication_result;
% or MOD modulus SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR Fjerner decimalerne fra et tal og runder det ned til nรฆrmeste hele tal. SELECT FLOOR(23 / 6) AS floor_result;
ROUND Afrunder et tal med decimaler til nรฆrmeste hele tal. SELECT ROUND(23 / 6) AS round_result;

Gemte funktioner

Kommando Beskrivelse
CREATE FUNCTION sf_name ([parameter(s)]) Obligatorisk. Fortรฆller MySQL server til at oprette en funktion med navnet sf_name med de valgfrie parametre defineret i parenteserne.
RETURNS data type Obligatorisk. Angiver den datatype, som funktionen returnerer.
DETERMINISTIC Funktionen returnerer den samme vรฆrdi, nรฅr de samme argumenter angives for den.
STATEMENTS Den proceduremรฆssige kode, som funktionen udfรธrer.

SQL Aggregate funktionskommandoer

Kommando Beskrivelse
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2; COUNT funktion
SELECT MIN(t3) FROM table2; MIN funktion
SELECT MAX(t3) FROM table2; MAX funktion
SELECT SUM(t4) FROM table3; SUM funktion
SELECT AVG(t4) FROM table3; AVG funktion

SQL ER NULL & ER IKKE NULL kommandoer

A NULL er en fravรฆrende vรฆrdi, sรฅ den skal testes med IS NULL i stedet for equals-operatoren.

Kommando Beskrivelse
SELECT COUNT(t3) FROM table1; COUNT ignorerer NULL-vรฆrdier i kolonnen.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
IKKE NULL forbyder tomme vรฆrdier i en kolonne.
column_name IS NULL
column_name IS NOT NULL
Grundlรฆggende syntaks for NULL-nรธgleord
SELECT * FROM table1 WHERE t2_number IS NULL; Eksempel pรฅ IS NULL
SELECT * FROM table1 WHERE t2_number IS NOT NULL; Eksempel pรฅ ER IKKE NULL

SQL AUTO_INCREMENT kommandoer

Kommando Beskrivelse
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
Automatisk stigningssyntaks

SQL โ€“ ร†NDRE, DROP, OMDร˜B, ร†NDRING

Disse kommandoer รฆndrer en tabel, der allerede indeholder data.

Kommando Beskrivelse
ALTER TABLE table_name ADD COLUMN column_name data_type; ALTER-syntaks
DROP TABLE sample_table; DROP TABLE syntaks
RENAME TABLE current_table_name TO new_table_name; RENAME-kommandosyntaks
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL; ร†NDR sรธgeord
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL; ร†NDRE sรธgeord
ALTER TABLE table1 ADD t4 date NULL AFTER t3; EFTER-nรธgleord

SQL LIMIT & OFFSET

Kommando Beskrivelse
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; LIMIT sรธgeordssyntaks
SELECT * FROM table1 LIMIT 1, 2; Offset i LIMIT-forespรธrgslen: spring 1 rรฆkke over, og returner derefter 2.

SQL SubQuery-kommandoer

Kommando Beskrivelse
SELECT t1_name FROM table1 WHERE
category_id = (SELECT MIN(t1_id) FROM table2);
Underforespรธrgsler

SQL JOINS kommandoer

SLUTTER kombinere kolonner fra to tabeller til รฉt resultatsรฆt.

Kommando Beskrivelse
SELECT * FROM table1 CROSS JOIN table2; Kryds JOIN
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
INNER JOIN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
LEFT JOIN
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
Hร˜JRE JOIN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
"ON" og "USING" klausuler

SQL UNION kommandoer

UNION stabler rรฆkkerne af to forespรธrgsler, hvorimod en JOIN udvider dem til flere kolonner.

Kommando Beskrivelse
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
UNION-syntaks. Duplikerede rรฆkker fjernes.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL gemmer dubletter af rรฆkker.

SQL i visningskommandoer

Views gemme en forespรธrgsel under et navn, sรฅ den kan genbruges som en tabel.

Kommando Beskrivelse
CREATE VIEW view_name AS SELECT statement; Syntaks
DROP VIEW general_v_movie_rentals; Dropping visninger

SQL Index kommandoer

Et indeks er en opslagsstruktur, der gรธr sรธgninger i en kolonne langt hurtigere.

Kommando Beskrivelse
CREATE INDEX id_index ON table_name(column_name); Tilfรธj indeks grundlรฆggende syntaks
DROP INDEX index_id ON table_name; Drop indeks grundlรฆggende syntaks

Ofte Stillede Spรธrgsmรฅl

Nej. Nรธgleord som SELECT og WHERE fungerer under alle omstรฆndigheder. Store bogstaver er en konvention, der adskiller kommandoer fra identifikatorer. Tabelnavne kan dog vรฆre store og smรฅ bogstaverfรธlsomme pรฅ Linux.

DELETE fjerner markerede rรฆkker og kan rulles tilbage. TRUNCATE tรธmmer hurtigt hele tabellen og nulstiller AUTO_INCREMENT. DROP fjerner selve tabeldefinitionen.

FROM og JOIN kรธres fรธrst, derefter WHERE, GROUP BY, HAVING, SELECT, ORDER BY og til sidst LIMIT. Derfor kan et kolonnealias defineret i SELECT ikke bruges i WHERE.

Ja. Tekst-til-SQL-assistenter oversรฆtter et spรธrgsmรฅl til en forespรธrgsel ved hjรฆlp af tabelskemaet. Lรฆs altid de genererede WHERE- og JOIN-betingelser, da en plausibel forespรธrgsel kan returnere forkerte rรฆkker.

Ja. RevVisning af AI-output, finjustering af langsomme forespรธrgsler og lรฆsning af en udfรธrelsesplan krรฆver alle flydende kommandoer. Et referenceark fremskynder hukommelsen; det erstatter ikke forstรฅelse.

Opsummer dette indlรฆg med: