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.
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.
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.