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: