Dieses SQL-Spickzettel enthรคlt die Befehle, die Entwickler tรคglich verwenden, รผbersichtlich nach Aufgaben geordnet. Jeder Abschnitt kombiniert die exakte Syntax mit einer einfachen Beschreibung und behandelt Datenbankerstellung, Datentypen, Abfragen, Filtern, Verknรผpfen und Indizierung.
๐๏ธ Strukturbefehle: CREATE DATABASE, CREATE TABLE, ALTER, RENAME und DROP definieren und verรคndern das Schema.
๐ข Datentypen: Numerische, Text-, Datums- und Binรคrdatentypen legen die Speichergrรถรe und den gรผltigen Bereich jeder Spalte fest.
๐ Abrufbefehle: Mit SELECT und den Operatoren WHERE, IN, LIKE und REGEXP lรคsst sich das Ergebnis auf die relevanten Zeilen beschrรคnken.
โ๏ธ รnderungsbefehle: INSERT, UPDATE und DELETE รคndern gespeicherte Zeilen und akzeptieren jeweils eine optionale Bedingung.
๐ Aggregationsbefehle: Gruppieren nach mit ANZAHL, MIN, MAX, SUMME und AVG fasst Daten zusammen, und HAVING filtert die Gruppen.
๐ Kombinationsbefehle: JOIN verknรผpft Tabellen nebeneinander, wรคhrend UNION die Ergebnisse zweier Abfragen รผbereinanderstapelt.
Jede SQL-Sitzung beginnt mit einer Datenbank und mindestens einer Tabelle zur Speicherung der Zeilen.
Befehl
Beschreibung
CREATE DATABASE database1;
Datenbank erstellen
CREATE DATABASE IF NOT EXISTS database1;
IF NOT EXISTS ermรถglicht Ihnen, Anweisungen zu geben. MySQL Der Server soll vor dem Erstellen der Datenbank prรผfen, ob bereits eine Datenbank mit einem รคhnlichen Namen existiert.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Der Zeichensatz latin1 verwendet die Sortierung latin1_swedish_ci, die der schwedischen, nicht zwischen Groร- und Kleinschreibung unterscheidenden Sortierung entspricht.
SHOW DATABASES;
Sie kรถnnen eine Liste der vorhandenen Datenbanken anzeigen, indem Sie diesen SQL-Befehl ausfรผhren.
Platzhalter ermรถglichen es LIKE, auch Teilzeichenketten abzugleichen.
% der Prozentzeichenbefehl in MySQL
Befehl
Beschreibung
SELECT statements... WHERE fieldname LIKE 'xxx%';
Grundlegende Syntax fรผr das Prozentzeichen (%), das fรผr eine beliebige Anzahl von Zeichen steht.
_ Unterstrich-Platzhalterbefehl
Befehl
Beschreibung
SELECT * FROM table1 WHERE t3 LIKE 'x2_';
Der Unterstrich entspricht genau einem Zeichen.
NICHT wie ein Platzhalterbefehl
Befehl
Beschreibung
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_';
Angenommen, wir mรถchten die Zeilen aus Tabelle 1, deren t3-Wert nicht dem Muster entspricht.
Platzhalterbefehl fรผr Escape-Schlรผsselwort
Befehl
Beschreibung
LIKE '67#%' ESCAPE '#';
Prรผft auf die Zeichenkette โ67%โ, da # das Wildcard-Zeichen maskiert.
Regulรคre SQL-Ausdrรผcke (REGEXP)
Befehl
Beschreibung
SELECT statements... WHERE fieldname REGEXP 'pattern';
Grundlegende Syntax einer regulรคren Ausdrucksรผbereinstimmung
Metazeichen fรผr regulรคre Ausdrรผcke
Befehl
Beschreibung
*
Das Sternchen (*) als Metazeichen entspricht null oder mehreren Vorkommen der vorhergehenden Zeichenkette.
+
Das Metazeichen Plus (+) entspricht einem oder mehreren Vorkommen der vorhergehenden Zeichenkette.
?
Das Fragezeichen (?) entspricht null oder einem Vorkommen der vorhergehenden Zeichenkette.
.
Das Metazeichen Punkt (.) entspricht jedem einzelnen Zeichen auรer einem Zeilenumbruch.
[abc]
Die Zeichenliste [abc] entspricht jedem der eingeschlossenen Zeichen.
[^abc]
Die Zeichenliste [^abc] entspricht allen Zeichen auรer den eingeschlossenen.
[A-Z]
Der Bereich [AZ] entspricht jedem Groรbuchstaben.
[a-z]
Der Bereich [az] entspricht jedem Kleinbuchstaben.
[0-9]
Der Bereich [0-9] entspricht jeder Ziffer von 0 bis 9.
^
Das Caret-Zeichen (^) verankert das Spiel am Anfang.
|
Der senkrechte Strich (|) trennt Alternativen voneinander.
[[:<:]]
Das Zeichen [[:<:]] steht fรผr den Wortanfang.
[[:>:]]
Das Zeichen [[:>:]] steht fรผr das Ende von Wรถrtern.
[:class:]
Der Marker [:class:] entspricht einer Zeichenklasse, zum Beispiel [:alpha:] fรผr Buchstaben, [:space:] fรผr Leerzeichen, [:punct:] fรผr Satzzeichen und [:upper:] fรผr Groรbuchstaben.
SQL-Funktionsbefehle
String-Funktionen
Befehl
Beschreibung
SELECT t1_id, t2, UCASE(t2) FROM table1;
Die UCASE-Funktion nimmt eine Zeichenkette als Parameter und wandelt alle Buchstaben in Groรbuchstaben um.
Numerische Funktionen
Befehl
Beschreibung
Beispiel
DIV
Ganzzahlige Division
SELECT 23 DIV 6;
/
Anwendungen
SELECT 23 / 6;
-
SubtracProduktion
SELECT 23 - 6;
+
Zusatz
SELECT 23 + 6;
*
Vervielfรคltigen
SELECT 23 * 6 AS multiplication_result;
% or MOD
Modul
SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR
Entfernt die Dezimalstellen einer Zahl und rundet sie auf die nรคchste ganze Zahl ab.
SELECT FLOOR(23 / 6) AS floor_result;
ROUND
Rundet eine Zahl mit Dezimalstellen auf die nรคchste ganze Zahl.
SELECT ROUND(23 / 6) AS round_result;
Gespeicherte Funktionen
Befehl
Beschreibung
CREATE FUNCTION sf_name ([parameter(s)])
Pflicht. Sagt MySQL Der Server soll eine Funktion namens sf_name mit den in Klammern definierten optionalen Parametern erstellen.
RETURNS data type
Erforderlich. Gibt den Datentyp an, den die Funktion zurรผckgibt.
DETERMINISTIC
Die Funktion gibt immer denselben Wert zurรผck, wenn ihr dieselben Argumente รผbergeben werden.
STATEMENTS
Der prozedurale Code, den die Funktion ausfรผhrt.
Befehle der SQL-Aggregatfunktion
Befehl
Beschreibung
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;
SUMME-Funktion
SELECT AVG(t4) FROM table3;
AVG Funktion
SQL IS NULL- und IS NOT NULL-Befehle
A NULL Da es sich um einen fehlenden Wert handelt, muss er mit IS NULL und nicht mit dem Gleichheitsoperator geprรผft werden.
Befehl
Beschreibung
SELECT COUNT(t3) FROM table1;
COUNT ignoriert NULL-Werte in der Spalte.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
Diese Befehle verรคndern eine Tabelle, die bereits Daten enthรคlt.
Befehl
Beschreibung
ALTER TABLE table_name ADD COLUMN column_name data_type;
ALTER-Syntax
DROP TABLE sample_table;
DROP TABLE-Syntax
RENAME TABLE current_table_name TO new_table_name;
Syntax des RENAME-Befehls
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL;
Schlรผsselwort รคndern
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL;
Schlรผsselwort MODIFY
ALTER TABLE table1 ADD t4 date NULL AFTER t3;
NACH dem Schlรผsselwort
SQL-LIMIT & OFFSET
Befehl
Beschreibung
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
LIMIT-Schlรผsselwortsyntax
SELECT * FROM table1 LIMIT 1, 2;
Offset in der LIMIT-Abfrage: 1 Zeile รผberspringen, dann 2 zurรผckgeben.
SQL-Unterabfragebefehle
Befehl
Beschreibung
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN(t1_id) FROM table2);
Unterabfragen
SQL JOINS-Befehle
VERBINDET Spalten aus zwei Tabellen werden zu einem Ergebnissatz kombiniert.
Befehl
Beschreibung
SELECT * FROM table1 CROSS JOIN table2;
Kreuz 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;
RICHTIG BEITRETEN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
โONโ- und โUSINGโ-Klauseln
SQL UNION-Befehle
UNION stapelt die Zeilen zweier Abfragen, wรคhrend JOIN sie in mehr Spalten aufteilt.
Befehl
Beschreibung
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
UNION-Syntax. Doppelte Zeilen werden entfernt.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL behรคlt doppelte Zeilen bei.
SQL in Views-Befehlen
Aufrufe Eine Abfrage wird unter einem Namen gespeichert, sodass sie wie eine Tabelle wiederverwendet werden kann.
Befehl
Beschreibung
CREATE VIEW view_name AS SELECT statement;
Syntax der Ansichten
DROP VIEW general_v_movie_rentals;
Dropping Ansichten
SQL-Indexbefehle
Ein Index ist eine Suchstruktur, die die Suche in einer Spalte erheblich beschleunigt.
Befehl
Beschreibung
CREATE INDEX id_index ON table_name(column_name);
Fรผgen Sie die grundlegende Indexsyntax hinzu
DROP INDEX index_id ON table_name;
Grundlegende Syntax zum Lรถschen des Index
Hรคufig gestellte Fragen
Nein. Schlรผsselwรถrter wie SELECT und WHERE funktionieren in jedem Fall. Groรschreibung ist eine Konvention, um Befehle von Bezeichnern zu trennen. Tabellennamen kรถnnen unter Linux jedoch zwischen Groร- und Kleinschreibung unterscheiden.
DELETE entfernt ausgewรคhlte Zeilen und kann rรผckgรคngig gemacht werden. TRUNCATE leert die gesamte Tabelle schnell und setzt AUTO_INCREMENT zurรผck. DROP lรถscht die Tabellendefinition selbst.
FROM und JOIN werden zuerst ausgefรผhrt, dann WHERE, GROUP BY, HAVING, SELECT, ORDER BY und schlieรlich LIMIT. Daher kann ein in SELECT definierter Spaltenalias nicht innerhalb von WHERE verwendet werden.
Ja. Text-zu-SQL-Assistenten รผbersetzen eine Frage mithilfe des Tabellenschemas in eine Abfrage. Lesen Sie immer die generierten WHERE- und JOIN-Bedingungen, da eine plausible Abfrage falsche Zeilen zurรผckgeben kann.
Ja. RevDas Betrachten von KI-Ausgaben, das Optimieren langsamer Abfragen und das Lesen eines Ausfรผhrungsplans erfordern allesamt flieรende Kenntnisse der Befehle. Ein Referenzblatt beschleunigt das Erinnern; es ersetzt jedoch nicht das Verstรคndnis.
Fassen Sie diesen Beitrag mit folgenden Worten zusammen:
Bleiben Sie รผber KI auf dem LaufendenErhalten Sie Wรถchentliche KI Fรคhigkeiten, Trends, umsetzbare Ratschlรคge.
Melden Sie sich fรผr den Newsletter an
Sie haben sich erfolgreich angemeldet. Bitte รผberprรผfen Sie Ihren Posteingang.