In diesem SQL Query-Spickzettel lernen Sie
Erstellen Sie Datenbank- und Tabellenbefehle
Befehl | Beschreibung |
CREATE DATABASE DATABASE; | Datenbank erstellen |
CREATE DATABASE NOT EXISTS database1; | WENN NICHT EXISTIERT, können Sie den MySQL-Server anweisen, vor dem Erstellen einer Datenbank die Existenz einer Datenbank mit einem ähnlichen Namen zu überprüfen. |
ERSTELLEN SIE DIE DATENBANK, WENN DIE Datenbank nicht vorhanden ist1 CHARACTER SET latin1 COLLATE latin1_swedish_ci | Der Latin1-Zeichensatz verwendet die latin1_swedish_ci-Kollatierung, bei der es sich um die schwedische Groß- und Kleinschreibung handelt, bei der die Groß- und Kleinschreibung nicht berücksichtigt wird. |
DATENBANKEN ANZEIGEN | Sie können die Liste der vorhandenen Datenbanken anzeigen, indem Sie den folgenden SQL-Befehl ausführen. |
CREATE TABLE [WENN NICHT EXISTIERT] TableName (Feldname Datentyp [optionale Parameter]) ENGINE = Speicher-Engine; | Erstellen Sie eine Tabellensyntax |
DATENTYPEN
Numerische Datentypen
Befehl | Beschreibung |
TINYINT () | -128 bis 127 normal 0 bis 255 UNSIGNIERT. |
SMALLINT () | -32768 bis 32767 normal 0 bis 65535 UNSIGNIERT. |
MITTEL () | -8388608 bis 8388607 normal 0 bis 16777215 UNSIGNED. |
INT () | -2147483648 bis 2147483647 normal 0 bis 4294967295 UNSIGNED. |
BIGINT () | -9223372036854775808 bis 9223372036854775807 normal 0 bis 18446744073709551615 UNSIGNED. |
SCHWEBEN | Eine kleine ungefähre Zahl mit einem Gleitkomma. |
DOPPELT( , ) | Eine große Zahl mit einem Gleitkomma. |
DEZIMAL( , ) | Ein DOUBLE, das als Zeichenfolge gespeichert wird und einen festen Dezimalpunkt zulässt. Auswahl zum Speichern von Währungswerten. |
Textdatentypen
Befehl | Beschreibung |
CHAR () | Ein fester Abschnitt mit einer Länge von 0 bis 255 Zeichen. |
VARCHAR () | Ein variabler Abschnitt mit einer Länge von 0 bis 255 Zeichen. |
TINYTEXT | Eine Zeichenfolge mit einer maximalen Länge von 255 Zeichen. |
TEXT | Eine Zeichenfolge mit einer maximalen Länge von 65535 Zeichen. |
KLECKS | Eine Zeichenfolge mit einer maximalen Länge von 65535 Zeichen. |
MEDIUMTEXT | Eine Zeichenfolge mit einer maximalen Länge von 16777215 Zeichen. |
MEDIUMBLOB | Eine Zeichenfolge mit einer maximalen Länge von 16777215 Zeichen. |
LONGTEXT | Eine Zeichenfolge mit einer maximalen Länge von 4294967295 Zeichen. |
LONGBLOB | Eine Zeichenfolge mit einer maximalen Länge von 4294967295 Zeichen. |
Datums- / Uhrzeitdatentypen
Befehl | Beschreibung |
DATUM | JJJJ-MM-TT |
TERMINZEIT | JJJJ-MM-TT HH: MM: SS |
TIMESTAMP | JJJJMMTTHHMMSS |
ZEIT | HH: MM: SS |
Andere Datentypen
Befehl | Beschreibung |
ENUM | Speichern von Textwerten, die aus einer Liste vordefinierter Textwerte ausgewählt wurden. |
EINSTELLEN | Dies wird auch zum Speichern von Textwerten verwendet, die aus einer Liste vordefinierter Textwerte ausgewählt wurden. Es kann mehrere Werte haben. |
BOOL | Synonym für TINYINT (1), das zum Speichern von Booleschen Werten verwendet wird |
BINÄR | Ähnlich wie bei CHAR besteht der Unterschied darin, dass Texte im Binärformat gespeichert werden. |
VARBINARY | Ähnlich wie bei VARCHAR besteht der Unterschied darin, dass Texte im Binärformat gespeichert werden. |
Befehl MySQL SELECT-Anweisung
Befehl | Beschreibung |
SELECT [DISTINCT | ALL] {* | [fieldExpression [AS newName]} FROM tableName [Alias] [WHERE-Bedingung] [GROUP BY fieldName (s)] [HAVING-Bedingung] ORDER BY fieldName (s) | SQL SELECT-Anweisungssyntax |
SELECT * FROM table1; | Wählen Sie die Tabelle aus |
SELECT t1, t2, t3, t4 FROM table1; | Wir sind nur daran interessiert, nur die Felder t1, t2, t3 und t4 zu erhalten. |
SELECT Concat (t1, (, t3,)), t4 FROM table2; | Abrufen der Tabelle2-Liste |
SELECT Spaltenname | Wert | Ausdruck [AS] Aliasname; | Syntax für Alias-Feldnamen |
MySQL WHERE-Klausel mit AND-, OR-, IN-, NOT IN-Befehlen
Befehl | Beschreibung |
SELECT * FROM tableName WHERE Bedingung; | WHERE-Klausel Syntax |
SELECT * FROM table1 WHERE t1 = 2 UND t2 = 2008; | WHERE-Klausel kombiniert mit - AND LOGICAL Operator |
SELECT * FROM table1 WHERE t1 = 1 ODER t1 = 2; | WHERE-Klausel kombiniert mit - OR LOGICAL Operator |
SELECT * FROM table2 WHERE t1 IN (1,2,3); | WHERE-Klausel kombiniert mit - IN-Schlüsselwort |
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); | WHERE-Klausel kombiniert mit - NOT IN-Schlüsselwort |
SELECT * FROM table2 WHERE t3 = weiblich; | WHERE-Klausel kombiniert mit Equal (=) to COMPARISON OPERATORS |
SELECT * FROM table3 WHERE t3> 2000; | WHERE-Klausel kombiniert mit größer als (>) für VERGLEICHSBETREIBER |
SELECT * FROM table1 WHERE t1 <> 1; | WHERE-Klausel kombiniert mit Nicht gleich (<>) VERGLEICHSOPERATOREN |
MySQL-Befehl INSERT INTO-Tabelle
Befehl | Beschreibung |
INSERT INTO Tabellenname (Spalte_1, Spalte_2,…) VALUES (Wert_1, Wert_2,…); | Grundlegende Syntax des SQL INSERT-Befehls |
INSERT IN table1 (t1, t2, t3, t4) VALUES (X1, X2, X3, X4); | Daten in Tabelle einfügen |
INSERT INTO table_1 SELECT * FROM table_2; | Einfügen in eine Tabelle aus einer anderen Tabelle |
MySQL DELETE Befehl
Befehl | Beschreibung |
DELETE FROM table_name [WHERE-Bedingung]; | Löschen Sie eine Zeile in MySQL |
Beispiel: - DELETE FROM table1 WHERE table1_id = 18;
(Eintrag von 18-Nummern-ID aus Tabelle1 löschen.) DELETE FROM table1 WHERE table1_id IN (20,21); (Eintrag von 20 und 21 Nummern ID aus Tabelle 1 löschen)
MySQL Update-Befehl
Befehl | Beschreibung |
UPDATE Tabellenname SET Spaltenname = neuer_Wert [WHERE-Bedingung]; | Befehlssyntax aktualisieren |
Beispiel: - SELECT * FROM table1 WHERE t1 = 1;
(Ruft den Datensatz für t1 = 1 ab.) UPDATE table1 SET t4 = X1 WHERE t1 = 1; (Aktualisieren Sie den t4-Wert in der Tabelle)
ORDER BY in MySQL: DESC & ASC-Befehl
Befehl | Beschreibung |
SELECT-Anweisung… [WHERE-Bedingung | GROUP BY Feldname (n) mit Bedingung] ORDER BY Feldname (n) [ASC | DESC]; | Reihenfolge nach Klausel Grundsyntax |
SELECT {Feldname (n) | *} FROM tableName (s) [WHERE-Bedingung] ORDER BY Feldname (n) ASC / DESC [LIMIT N] | DESC- und ASC-Syntax |
Beispiel: - Für DESC (absteigend)
SELECT * FROM table1 ORDER BY t3 DESC; Für ASC (aufsteigend) SELECT * FROM table1 ORDER BY t3 ASC;
Befehl MySQL GROUP BY und HAVING-Klausel
Gruppiere nach
Befehl | Beschreibung |
SELECT-Anweisungen… GROUP BY Spaltenname1 [, Spaltenname2,…] [HAVING-Bedingung]; | GROUP BY Syntax |
Beispiel für die Gruppierung einer einzelnen Spalte: - SELECT t4 FROM table1;
SELECT t4 FROM table1 GROUP BY t4; (Angenommen, wir möchten die eindeutigen Werte für t4 erhalten.)
Beispiel für die Gruppierung mehrerer Spalten: - SELECT t1_id, t4 FROM table2;
SELECT t1_id, t4 FROM table2 GROUP BY t1_id, t4; (unter Verwendung von group by method)
Gruppierungs- und Aggregatfunktionen
Befehl | Beschreibung |
SELECT t2, COUNT (t1) FROM table1 GROUP BY t2; | Angenommen, wir möchten die Gesamtzahl der t2-Spaltenwerte in unserer Datenbank. |
HAVING-Klausel
Befehl | Beschreibung |
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1; | alle t4 für Tabelle2 t1 id x1. Wir würden das folgende Skript verwenden, um unsere Ergebnisse zu erzielen. |
MySQL Wildcards-Befehle für Like, NOT Like, Escape, (%), (_)
% der Prozentsatz der Platzhalterbefehle in MySQL
Befehl | Beschreibung |
SELECT-Anweisungen… WHERE Feldname LIKE xxx%; | Grundlegende Syntax für% Prozent Platzhalter |
Beispiel: - Wir würden den prozentualen Platzhalter verwenden, um eine Musterübereinstimmung auf beiden Seiten des Wortes "X1" als Teil t2 von Tabelle1 durchzuführen. SELECT * FROM table1 WHERE t2 LIKE% X1%;
SELECT * FROM table1 WHERE t2 LIKE% X1; (Der prozentuale Platzhalter nur am Anfang der Suchkriterien) SELECT * FROM table1 WHERE t2 LIKE X1%; (Der prozentuale Platzhalter bis zum Ende des angegebenen Musters, das abgeglichen werden soll.)
_ Platzhalterbefehl unterstreichen
Befehl | Beschreibung |
SELECT * FROM table1 WHERE t3 LIKE x2_; | alle Tabellen1, die t3 im Jahr "x2" waren |
NICHT wie Platzhalterbefehl
Befehl | Beschreibung |
SELECT * FROM table1 WHERE t3 NOT LIKE X2_; | Angenommen, wir möchten Tabelle1 erhalten, die im Jahr X2_ nicht t3 war |
Escape-Schlüsselwort-Platzhalterbefehl
Befehl | Beschreibung |
LIKE 67 # %% ESCAPE #; | Wir wollen nach der Zeichenfolge "67%" suchen. |
MYSQL Regular Expressions (REGEXP)
Befehl | Beschreibung |
SELECT-Anweisungen… WHERE Feldname REGEXP-Muster; | Grundlegende Syntax des regulären Ausdrucks |
Beispiel: - Alle Tabellen1 bis t1, in denen das Wort X1 enthalten ist. Es spielt keine Rolle, ob sich das "X1" am Anfang, in der Mitte oder am Ende des Titels befindet. SELECT * FROM table1 WHERE t1 REGEXP X1;
Reguläre Expression Metazeichen
Befehl | Beschreibung |
* | Das Sternzeichen (*) wird verwendet, um null (0) oder mehr Instanzen der vorhergehenden Zeichenfolgen abzugleichen |
+ | Das Pluszeichen (+) wird verwendet, um eine oder mehrere Instanzen von Zeichenfolgen davor abzugleichen. |
? | Das Metazeichen frage (?) Wird verwendet, um null (0) oder eine Instanz der vorhergehenden Zeichenfolgen abzugleichen. |
. | Das Metazeichen dot (.) Wird verwendet, um ein einzelnes Zeichen mit Ausnahme einer neuen Zeile abzugleichen. |
[abc] | Die Zeichenliste [abc] wird verwendet, um mit einem der eingeschlossenen Zeichen übereinzustimmen. |
[^abc] | Die Zeichenliste [abc] wird verwendet, um alle Zeichen mit Ausnahme der eingeschlossenen Zeichen abzugleichen. |
[A-Z] | Das [AZ] wird verwendet, um mit jedem Großbuchstaben übereinzustimmen |
[a-z] | Das [az] wird verwendet, um mit jedem Kleinbuchstaben übereinzustimmen |
[0-9] | Die [0-9] wird verwendet, um eine beliebige Ziffer von 0 bis 9 abzugleichen. |
^ | Das Caret (^) wird verwendet, um das Spiel zu Beginn zu starten. |
| | Der vertikale Balken (|) dient zum Isolieren von Alternativen. |
[[:<:]] | Das [[: <:]] entspricht dem Wortanfang. |
[[:>:]] | Das [[:>:]] entspricht dem Ende von Wörtern. |
[:class:] | Die [: class:] entspricht einer Zeichenklasse, dh [: alpha:], um Buchstaben zuzuordnen, [: space:], um Leerzeichen zuzuordnen, [: punct:] entspricht Übereinstimmungszeichen und [: Upper:] für Buchstaben der oberen Klasse. |
SQL-Funktionsbefehle
String-Funktionen
Befehl | Beschreibung |
SELECT t1_id, t2, UCASE (t2) FROM table1; | die "UCASE" -Funktion, um das zu tun. Es nimmt eine Zeichenfolge als Parameter und konvertiert alle Buchstaben in Großbuchstaben. |
Numerische Funktionen
Befehl | Beschreibung | Beispiel |
DIV | Ganzzahlige Division | SELECT 23 DIV 6; |
/ | Teilung | SELECT 23/6; |
- | Subtraktion | SELECT 23 - 6; |
+ | Zusatz | SELECT 23 + 6; |
* | Multiplikation | SELECT 23 * 6 AS multiplication_result; |
% or MOD | Modul | SELECT 23% 6; oder SELECT 23 MOD 6; |
Floor | Diese Funktion entfernt Dezimalstellen von einer Zahl und rundet sie auf die nächstniedrigere Zahl. | SELECT FLOOR (23/6) AS floor_result; |
Round | Diese Funktion 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)]) RETURNS-Datentyp DETERMINISTIC STATEMENTS | Grundlegende Syntax zum Erstellen einer gespeicherten Funktion |
CREATE FUNCTION sf_name ([Parameter)] | Obligatorisch und weist den MySQL-Server an, eine Funktion mit dem Namen "sf_name" mit optionalen Parametern zu erstellen, die in Klammern definiert sind. |
RETURNS-Datentyp | Obligatorisch und gibt den Datentyp an, den die Funktion zurückgeben soll. |
DETERMINISTISCH | Die Funktion gibt dieselben Werte zurück, wenn dieselben Argumente angegeben werden. |
ERKLÄRUNGEN | Der Prozedurcode, den die Funktion ausführt. |
MySQL Aggregate-Funktionsbefehle
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; | SUM-Funktion |
SELECT AVG (t4) FROM table3; | AVG-Funktion |
MySQL IS NULL & IS NOT NULL Befehle
Befehl | Beschreibung |
SELECT COUNT (t3) FROM table1; (Wenn in t3 ein Nullwert vorhanden ist, der nicht zählt) | Null als Wert |
CREATE TABLE table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); | NICHT NULL Werte |
comlumn_name IS NULL comlumn_name NOT NULL | NULL Schlüsselwörter Grundlegende Syntax |
SELECT * FROM table1 WHERE t2_number IS NULL; | Beispiel für IS NULL |
SELECT * FROM table1 WHERE t2_number IST NICHT NULL; | Beispiel für IS NOT NULL |
MySQL AUTO_INCREMENT-Befehle
Befehl | Beschreibung |
CREATE TABLE table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) STANDARD NULL, t3 varchar (500) STANDARD NULL, PRIMARY KEY (t1_id)); | Automatische Inkrementsyntax |
MYSQL - ALTER, DROP, RENAME, MODIFY
Befehl | Beschreibung |
ALTER TABLE Tabellenname ADD COLUMN Spaltenname Datentyp; | Syntax ändern |
DROP TABLE sample_table; | DROP TABLE-Syntax |
RENAME TABLE current_table_name TO new_table_name; | RENAME COMMAND-Syntax |
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char (250) NOT NULL; | SCHLÜSSELWORT ÄNDERN |
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; | SCHLÜSSELWORT ÄNDERN |
ALTER TABLE table1 ADD t4 date NULL AFTER t3; | NACH SCHLÜSSELWORT |
MySQL LIMIT & OFFSET
Befehl | Beschreibung |
SELECT {Feldname (n) | *} FROM tableName (s) [WHERE-Bedingung] LIMIT N; | LIMIT-Schlüsselwortsyntax |
SELECT * FROM table1 LIMIT 1, 2; | OFF SET in der LIMIT-Abfrage |
MySQL SubQuery-Befehle:
Befehl | Beschreibung |
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) from table2); | Unterabfragen |
MySQL JOINS-Befehle
Befehl | Beschreibung |
SELECT * FROM Tabelle1 CROSS JOIN Tabelle2 | Überqueren Sie 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. | LINKS BEITRETEN |
SELECT A.t1, A.t2, B.t3 FROM table1 ALS 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 |
MySQL UNION-Befehle
Befehl | Beschreibung |
SELECT Spalte1, Spalte2 FROM Tabelle1 | UNION-Syntax |
SELECT Spalte1, Spalte2 FROM Tabelle2; | UNION UNTERSCHIEDLICH |
MySQL in Views-Befehlen
Befehl | Beschreibung |
CREATE VIEW view_name AS SELECT-Anweisung; | Ansichten Syntax |
DROP VIEW general_v_movie_rentals; | Ansichten löschen |
MySQL Index-Befehle
Befehl | Beschreibung |
CREATE INDEX id_index ON Tabellenname (Spaltenname); | Fügen Sie die grundlegende Indexsyntax hinzu |
DROP INDEX index_id ON tabellenname; | Grundlegende Syntax für Drop-Index |