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.
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)
);
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:
Hold dig opdateret om AIFå Ugentlig AI Færdigheder, tendenser, brugbar rådgivning.