SQL-jukseark med kommandoer og Description (2026)

โšก Smart oppsummering

Dette SQL-cheatsarket samler kommandoene en arbeidende utvikler bruker daglig, ordnet etter oppgave. Hver seksjon kombinerer den nรธyaktige syntaksen med en enkel beskrivelse, som dekker databaseoppretting, datatyper, spรธrring, filtrering, sammenfรธyning og indeksering.

  • ๐Ÿ—„๏ธ Strukturkommandoer: OPPRETT DATABASE, OPPRETT TABELL, ENDRE, ENDR NAVN og SLIPP definerer og omformer skjemaet.
  • ๐Ÿ”ข Datatyper: Numeriske, tekst-, dato- og binรฆre typer angir lagringsstรธrrelsen og det gyldige omrรฅdet for hver kolonne.
  • ๐Ÿ”Ž Hentingskommandoer: SELECT med WHERE, IN, LIKE og REGEXP begrenser et resultatsett til de radene som er viktige.
  • โœ๏ธ Modifikasjonskommandoer: INSERT, UPDATE og DELETE endrer lagrede rader, og hver av dem godtar en valgfri betingelse.
  • ๐Ÿ“Š Aggregeringskommandoer: GROUPร‰R ETTER med ANTALL, MIN, MAX, SUM og AVG oppsummerer data, og HAVING filtrerer gruppene.
  • ๐Ÿ”— Kombinasjonskommandoer: JOIN slรฅr sammen tabeller side om side, mens UNION stabler resultatene av to spรธrringer.

SQL-jukseark

Opprett database- og tabellkommandoer

Hver SQL-รธkt starter med en database og minst รฉn tabell som inneholder radene.

Kommando Tekniske beskrivelser
CREATE DATABASE database1; Lag database
CREATE DATABASE IF NOT EXISTS database1; HVIS IKKE EKSISTERER lar deg instruere MySQL serveren for รฅ sjekke om det finnes en database med et lignende navn fรธr databasen opprettes.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci; Tegnsettet latin1 bruker sorteringen latin1_swedish_ci, som er den svenske rekkefรธlgen uten รฅ skille mellom store og smรฅ bokstaver.
SHOW DATABASES; Du kan se en liste over eksisterende databaser ved รฅ kjรธre denne SQL-kommandoen.
CREATE TABLE [IF NOT EXISTS] TableName (fieldname dataType [optional parameters]) ENGINE = storage Engine; Lag tabellsyntaks

SQL datatyper jukseark

Datatypen til en kolonne bestemmer hva den kan lagre og hvor mye plass hver rad bruker.

Numeriske datatyper

Kommando Tekniske beskrivelser
TINYINT( ) -128 til 127 normal, 0 til 255 USIGNERT.
SMALLINT( ) -32768 til 32767 normalt
0 til 65535 USIGNERT.
MEDIUMINT( ) -8388608 til 8388607 normalt
0 til 16777215 USIGNERT.
INT( ) -2147483648 til 2147483647 normalt
0 til 4294967295 USIGNERT.
BIGINT( ) -9223372036854775808 til 9223372036854775807 normalt
0 til 18446744073709551615 USIGNERT.
FLOAT Et lite omtrentlig tall med et flytende desimaltegn.
DOUBLE( , ) Et stort omtrentlig tall med flytende desimaltegn.
DECIMAL( , ) Et eksakt fastpunkttall. Det foretrukne valget for lagring av valutaverdier.

Tekstdatatyper

Kommando Tekniske beskrivelser
CHAR( ) En seksjon med fast lengde fra 0 til 255 tegn.
VARCHAR( ) En seksjon med variabel lengde fra 0 til 65 535 tegn.
TINYTEXT En streng med maksimal lengde pรฅ 255 tegn.
TEXT En streng med maksimal lengde pรฅ 65535 tegn.
BLOB Binรฆre data med en maksimal lengde pรฅ 65535 byte.
MEDIUMTEXT En streng med maksimal lengde pรฅ 16777215 tegn.
MEDIUMBLOB Binรฆre data med en maksimal lengde pรฅ 16777215 byte.
LONGTEXT En streng med maksimal lengde pรฅ 4294967295 tegn.
LONGBLOB Binรฆre data med en maksimal lengde pรฅ 4294967295 byte.

Datatyper for dato/klokkeslett

Kommando Tekniske beskrivelser
DATE ร…ร…ร…ร…-MM-DD
DATETIME ร…ร…ร…ร…-MM-DD HH: MM: SS
TIMESTAMP ร…ร…ร…ร…-MM-DD TT:MM:SS, lagret i UTC og konvertert til รธktens tidssone.
TIME HH: MM: SS

Andre datatyper

Kommando Tekniske beskrivelser
ENUM Lagre รฉn tekstverdi valgt fra en liste med forhรฅndsdefinerte tekstverdier.
SET Dette brukes ogsรฅ til รฅ lagre tekstverdier valgt fra en liste med forhรฅndsdefinerte tekstverdier. Det kan inneholde flere verdier.
BOOL Synonym for TINYINT(1), brukes til รฅ lagre boolske verdier.
BINARY Ligner pรฅ CHAR; forskjellen er at tekst lagres i binรฆrt format.
VARBINARY Ligner pรฅ VARCHAR; forskjellen er at tekst lagres i binรฆrt format.

SQL SELECT-setningskommando

SELECT er kommandoen som brukes til รฅ lese rader tilbake fra en tabell.

Kommando Tekniske beskrivelser
SELECT * FROM table1; Velg hver kolonne fra tabellen
SELECT t1, t2, t3, t4 FROM table1; Vi er bare interessert i รฅ fรฅ tak i t1-, t2-, t3- og t4-feltene.
SELECT CONCAT(t1, ' (', t3, ')'), t4 FROM table2; Koble sammen kolonneverdier til รฉn enkelt utdatakolonne
SELECT column_name | value | expression [AS] alias_name; Syntaks for aliasfeltnavn

SQL WHERE-ledd med AND, OR, IN, NOT IN-kommandoer

WHERE-klausulen filtrerer rader, og operatorene nedenfor kan kombineres i den.

Kommando Tekniske beskrivelser
SELECT * FROM tableName WHERE condition; WHERE-klausulsyntaks
SELECT * FROM table1 WHERE t1 = 2 AND t2 = 2008; WHERE-klausulen kombinert med den logiske AND-operatoren
SELECT * FROM table1 WHERE t1 = 1 OR t1 = 2; WHERE-klausulen kombinert med den logiske OR-operatoren
SELECT * FROM table2 WHERE t1 IN (1,2,3); WHERE-klausulen kombinert med IN-nรธkkelordet
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); WHERE-klausulen kombinert med NOT IN-nรธkkelordet
SELECT * FROM table2 WHERE t3 = 'Female'; WHERE-klausulen kombinert med sammenligningsoperatoren likhet (=)
SELECT * FROM table3 WHERE t3 > 2000; WHERE-klausulen kombinert med sammenligningsoperatoren stรธrre enn (>)
SELECT * FROM table1 WHERE t1 <> 1; WHERE-klausulen kombinert med sammenligningsoperatoren ikke lik (<>)

SQL-kommando INSERT INTO Table

Kommando Tekniske beskrivelser
INSERT INTO table_name(column_1, column_2, ...) VALUES (value_1, value_2, ...); Grunnleggende syntaks for SQL INSERT-kommandoen
INSERT INTO table1 (t1,t2,t3,t4) VALUES (X1,X2,X3,X4); Sett inn data i en tabell
INSERT INTO table_1 SELECT * FROM table_2; Sette inn i en tabell fra en annen tabell

SQL DELETE kommando

Kommando Tekniske beskrivelser
DELETE FROM table_name [WHERE condition]; Slett en rad i MySQL

SQL Update Command

Kommando Tekniske beskrivelser
UPDATE table_name SET column_name = new_value [WHERE condition]; Oppdater kommandosyntaks

ORDER BY i SQL: DESC & ASC kommando

Kommando Tekniske beskrivelser
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC]; Grunnleggende 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

GRUPPE AV kollapser rader i grupper, og HAVING filtrerer disse gruppene etter at de er dannet.

Gruppe av

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

Grouping og aggregerte funksjoner

Kommando Tekniske beskrivelser
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2; Anta at vi vil ha det totale antallet t2-kolonneverdier i databasen vรฅr.

ร… ha klausul

Kommando Tekniske beskrivelser
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; Returnerer alle t4-verdiene for tabell2-rader der t1_id er x1.

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

Jokertegn lar LIKE matche delvise strenger.

% prosentjokertegnet-kommandoen i MySQL

Kommando Tekniske beskrivelser
SELECT statements... WHERE fieldname LIKE 'xxx%'; Grunnleggende syntaks for jokertegnet % prosent, som samsvarer med et hvilket som helst antall tegn

_ understrek jokertegn kommando

Kommando Tekniske beskrivelser
SELECT * FROM table1 WHERE t3 LIKE 'x2_'; Understrekingen samsvarer med nรธyaktig ett tegn.

IKKE som jokertegn kommando

Kommando Tekniske beskrivelser
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_'; Anta at vi รธnsker tabell1-radene hvis t3-verdi ikke samsvarer med mรธnsteret.

Escape nรธkkelordet jokertegn kommando

Kommando Tekniske beskrivelser
LIKE '67#%' ESCAPE '#'; Sjekker for den litterale strengen ยซ67 %ยป, fordi # omgรฅr jokertegnet.

SQL Regular Expressions (REGEXP)

Kommando Tekniske beskrivelser
SELECT statements... WHERE fieldname REGEXP 'pattern'; Grunnleggende syntaks for et samsvar med regulรฆre uttrykk

Regelmessig uttrykk Metakarakterer

Kommando Tekniske beskrivelser
* Metategnet stjerne (*) samsvarer med null eller flere forekomster av strengen som kommer foran det.
+ Pluss-metategnet (+) samsvarer med รฉn eller flere forekomster av strengen som kommer foran det.
? Spรธrsmรฅlstegnet (?) samsvarer med null eller รฉn forekomst av strengen foran det.
. Punktummetategnet (.) samsvarer med et hvilket som helst enkelttegn unntatt en ny linje.
[abc] Tegnlisten [abc] samsvarer med hvilket som helst av de omsluttede tegnene.
[^abc] Tegnlisten [^abc] samsvarer med alle tegn unntatt de som er omsluttet.
[A-Z] [AZ]-omrรฅdet samsvarer med alle store bokstaver.
[a-z] [az]-omrรฅdet samsvarer med alle smรฅ bokstaver.
[0-9] Tallomrรฅdet [0-9] samsvarer med et hvilket som helst siffer fra 0 til 9.
^ Cirkumflekstegnet (^) forankrer treffet i begynnelsen.
| Den vertikale linjen (|) isolerer alternativer.
[[:<:]] Markรธren [[:<:]] samsvarer med begynnelsen av ord.
[[:>:]] Markรธren [[:>:]] samsvarer med slutten av ord.
[:class:] Markรธren [:class:] samsvarer med en tegnklasse, for eksempel [:alpha:] for bokstaver, [:space:] for mellomrom, [:punct:] for tegnsetting og [:upper:] for store bokstaver.

SQL-funksjoner kommandoer

Strengefunksjoner

Kommando Tekniske beskrivelser
SELECT t1_id, t2, UCASE(t2) FROM table1; UCASE-funksjonen tar en streng som parameter og konverterer alle bokstavene til store bokstaver.

Numeriske funksjoner

Kommando Tekniske beskrivelser Eksempel
DIV Heltall divisjon SELECT 23 DIV 6;
/ Divisjon SELECT 23 / 6;
- Subtracsjon SELECT 23 - 6;
+ Addisjon SELECT 23 + 6;
* Multiplikasjon SELECT 23 * 6 AS multiplication_result;
% or MOD modulus SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR Fjerner desimalene fra et tall og runder det ned til nรฆrmeste hele tall. SELECT FLOOR(23 / 6) AS floor_result;
ROUND Avrunder et tall med desimaler til nรฆrmeste hele tall. SELECT ROUND(23 / 6) AS round_result;

Lagrede funksjoner

Kommando Tekniske beskrivelser
CREATE FUNCTION sf_name ([parameter(s)]) Obligatorisk. Forteller MySQL server for รฅ opprette en funksjon med navnet sf_navn med de valgfrie parameterne definert i parentesene.
RETURNS data type Obligatorisk. Angir datatypen som funksjonen returnerer.
DETERMINISTIC Funksjonen returnerer samme verdi hver gang de samme argumentene leveres til den.
STATEMENTS Prosedyrekoden som funksjonen utfรธrer.

SQL Aggregate funksjonskommandoer

Kommando Tekniske beskrivelser
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2; COUNT funksjon
SELECT MIN(t3) FROM table2; MIN funksjon
SELECT MAX(t3) FROM table2; MAX-funksjon
SELECT SUM(t4) FROM table3; SUM funksjon
SELECT AVG(t4) FROM table3; AVG funksjon

SQL ER NULL & IS NOT NULL kommandoer

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

Kommando Tekniske beskrivelser
SELECT COUNT(t3) FROM table1; COUNT ignorerer NULL-verdier i kolonnen.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
IKKE NULL forbyr tomme verdier i en kolonne.
column_name IS NULL
column_name IS NOT NULL
Grunnleggende syntaks for NULL-nรธkkelord
SELECT * FROM table1 WHERE t2_number IS NULL; Eksempel pรฅ IS NULL
SELECT * FROM table1 WHERE t2_number IS NOT NULL; Eksempel pรฅ IS NOT NULL

SQL AUTO_INCREMENT-kommandoer

Kommando Tekniske beskrivelser
CREATE TABLE table1 (
t1_id int(11) AUTO_INCREMENT,
t2_name varchar(150) DEFAULT NULL,
t3 varchar(500) DEFAULT NULL,
PRIMARY KEY (t1_id)
);
Syntaks for automatisk รธkning

SQL โ€“ ENDRE, DROP, GI ENDRE navn, ENDRE

Disse kommandoene endrer en tabell som allerede inneholder data.

Kommando Tekniske beskrivelser
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; ENDRE sรธkeord
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL; ENDR sรธkeord
ALTER TABLE table1 ADD t4 date NULL AFTER t3; ETTER-nรธkkelordet

SQL GRENSE OG OFFSET

Kommando Tekniske beskrivelser
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N; LIMIT sรธkeordsyntaks
SELECT * FROM table1 LIMIT 1, 2; Offset i LIMIT-spรธrringen: hopp over 1 rad, og returner deretter 2.

SQL SubQuery-kommandoer

Kommando Tekniske beskrivelser
SELECT t1_name FROM table1 WHERE
category_id = (SELECT MIN(t1_id) FROM table2);
Undersรธk

SQL JOINS-kommandoer

tiltrer kombinere kolonner fra to tabeller til ett resultatsett.

Kommando Tekniske beskrivelser
SELECT * FROM table1 CROSS JOIN table2; Kryss BLI MED
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;
VENSTRE BLI MED
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
RIKTIG MEDLEM
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 radene i to spรธrringer, mens en JOIN utvider dem til flere kolonner.

Kommando Tekniske beskrivelser
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
UNION-syntaks. Dupliserte rader fjernes.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL beholder dupliserte rader.

SQL in Views-kommandoer

Visninger lagre en spรธrring under et navn slik at den kan brukes om igjen som en tabell.

Kommando Tekniske beskrivelser
CREATE VIEW view_name AS SELECT statement; Syntaks for visninger
DROP VIEW general_v_movie_rentals; Dropping visninger

SQL Index-kommandoer

En indeks er en oppslagsstruktur som gjรธr sรธk i en kolonne mye raskere.

Kommando Tekniske beskrivelser
CREATE INDEX id_index ON table_name(column_name); Legg til grunnleggende syntaks for indeks
DROP INDEX index_id ON table_name; Slipp indeks grunnleggende syntaks

Spรธrsmรฅl og svar

Nei. Nรธkkelord som SELECT og WHERE fungerer uansett. Store bokstaver er en konvensjon som skiller kommandoer fra identifikatorer. Tabellnavn kan imidlertid vรฆre store og smรฅ bokstaver sensitive pรฅ Linux.

DELETE fjerner valgte rader og kan rulles tilbake. TRUNCATE tรธmmer hele tabellen raskt og tilbakestiller AUTO_INCREMENT. DROP fjerner selve tabelldefinisjonen.

FROM og JOIN kjรธres fรธrst, deretter WHERE, GROUP BY, HAVING, SELECT, ORDER BY og til slutt LIMIT. Dette er grunnen til at et kolonnealias definert i SELECT ikke kan brukes i WHERE.

Ja. Tekst-til-SQL-assistenter oversetter et spรธrsmรฅl til en spรธrring ved hjelp av tabellskjemaet. Les alltid de genererte WHERE- og JOIN-betingelsene, fordi en plausibel spรธrring kan returnere feil rader.

Ja. Revร… se AI-utdata, finjustere langsomme spรธrringer og lese en utfรธrelsesplan krever flyt i kommandoene. Et referanseark fremskynder hukommelsen; det erstatter ikke forstรฅelse.

Oppsummer dette innlegget med: