SQL-Kurzreferenz

Die SQL-Kurzreferenz gibt eine kompakte tabellarische Übersicht der wichtigsten SQL-Befehle. Die Beispiele beziehen sich auf die University-Datenbank aus dem SQL-Tutorial. Hinweise zur Syntax-Notation: Die SQL-Schlüsselwörter sind in Großbuchstaben geschrieben, z.B. SELECT, INSERT, UPDATE. Optionale Bestandteile ("Klauseln") eines SQL-Befehls werden in eckige Klammern gesetzt.

Befehl Art Syntax Wirkung Beispiel
CREATE DATABASE DDL CREATE DATABASE datenbank_name; Datenbank erstellen. CREATE DATABASE university;
DROP DATABASE DDL DROP DATABASE datenbank_name; Datenbank löschen.
DROP DATABASE university;
ALTER DATABASE DDL ALTER DATABASE datenbank_name MODIFY NAME = neuer_name; Datenbank ändern.
Datenbank wird geändert, z.B. der Name.
ALTER DATABASE university
MODIFY NAME = university2;
SELECT * DML SELECT * FROM Tabellenliste; Tabelleninhalte abfragen.
Gebe alle Zeilen und
alle Spalten der Tabellen zurück.
SELECT * FROM studiengang;
SELECT (allgemein) DML SELECT Spaltenliste FROM Tabellenliste
WHERE Bedingungen
Tabelleninhalte abfragen.
Gebe die angegebenen Spalten der angegebenen Tabellen zurück, gefiltert nach Zeilen, die die Bedingungen erfüllen.
SELECT Student.Name, Vorname, Studiengang.Name AS StgName
FROM Student, Studiengang
WHERE Student.StudiengangID= Studiengang.ID;
SELECT mit ORDER BY DML SELECT Spaltenliste FROM Tabellenliste
WHERE Bedingungen
ORDER BY Spaltennamen;
Tabelleninhalte abfragen und sortieren.
Wie SELECT, die Spalten werden zusätzlich nach der angegebenen Reihenfolge sortiert, ASC: aufsteigend, DESC: absteigend.
SELECT Student.Name, Vorname, Studiengang.Name AS StgName
FROM Student, Studiengang
WHERE Student.StudiengangID= Studiengang.ID
ORDER BY Studiengang.Name ASC, Student.Name DESC;
SELECT DISTINCT DML SELECT DISTINCT Spaltenliste FROM Tabelle; Gebe nur unterschiedliche Werte zurück.
DISTINCT bewirkt, das mehrfach auftretende Werte nur einmal ausgegeben werden. Das Schlüsselwort wird stets nach SELECT und vor die Spaltennamen eingefügt.
SELECT DISTINCT Vorname FROM Student;
SELECT mit GROUP BY DML SELECT Attributliste FROM Tabellenliste WHERE Bedingungen GROUP BY Attribut1, Attribut2 Zeilen gruppieren.
Durch die GROUP BY-Klausel werden alle Zeilen, die in einer oder mehreren Spalten den gleichen Wert enthalten, in jeweils einer Gruppe zusammengefasst. Gebe Anzahl der Studenten aus, gruppiert nach Art des Studiengangs.
SELECT STG.Art, COUNT(S.ID) AS AnzStudis
FROM Student AS S, Studiengang AS STG
WHERE S.StudiengangID = STG.ID
GROUP BY STG.Art;
SELECT mit INNER JOIN DML SELECT Attributliste FROM Tabelle
INNER JOIN Tabelle2 ON JOIN-Bedingung
[WHERE Auswahl-Bedingung]
Tabellen verknüpfen.
Die JOIN-Klausel wird verwendet, um eine Tabelle durch explizite Angabe der Fremdschlüssel-Bedingung mit einer anderen Tabelle zu verknüpfen. Ein INNER JOIN liefert nur diejenigen Datensätze, die passende Werte in beiden Tabellen haben.
SELECT Student.Name, Vorname, Matrikelnr,
Studiengang.Name AS Stg_Name
FROM Student
INNER JOIN Studiengang ON
Student.StudiengangID = Studiengang.ID;
INSERT INTO DML INSERT INTO Tabelle [Attributliste] VALUES Werteliste; Tabelleninhalte einfügen.
Füge die angegebenen Werte in die Spalten der Tabelle ein.
INSERT INTO Student (Name, Vorname, Matrikelnr, StudiengangID, Semester)
VALUES ('Bart', 'Simpson', 12349, 3, 4),
('Marge', 'Simpson', 12350, 3, 2);
UPDATE DML UPDATE Tabelle SET Attribut1=Wert1, Attribut2=Wert2,…Attributn=Wertn [WHERE Bedingung]; Tabelleninhalte ändern.
Ändere Werte der Tabelle ab.
UPDATE Student
SET Name = 'Muster', Vorname = 'Horst'
WHERE Name = 'Mustermann';
DELETE DML DELETE FROM Tabelle [ WHERE Bedingungen ] ; Tabelleninhalte löschen.
Lösche Zeilen der Tabelle, die den angegebenen Bedingungen entsprechen. Läßt man die WHERE-Klausel weg. wird der komplette Inhalt der Tabelle gelöscht.
DELETE FROM Student WHERE Name = 'Mustermann';
CREATE TABLE DDL CREATE TABLE Tabelle ( Attributliste) Tabelle erstellen.
Erstellt eine Tabelle mit angegebener Attributliste. Für jedes Attribut werden Name, Datentyp und ggf. Constraints angegeben.
CREATE TABLE Student (
ID int NOT NULL,
Name varchar(50) NOT NULL,
StudiengangID int NOT NULL);
CREATE TABLE
(mit PRIMARY KEY
und FOREIGN KEY)
DDL CREATE TABLE Tabelle(Attributliste,
PRIMARY KEY(Attribut_PK),
FOREIGN KEY (Attribut_FK) REFERENCES Tabelle2 (Attribut_PK2)] );
Tabelle erstellen.
Erstellt eine Tabelle mit angegebener Attributliste, Primärschlüssel Attribut_PK und Fremdschlüssel Attribut_FK.
CREATE TABLE Student (
ID int NOT NULL,
Name varchar(50) NOT NULL,
StudiengangID int NOT NULL,
PRIMARY KEY(ID),
FOREIGN KEY (StudiengangID ) REFERENCES Studiengang (ID) );
CREATE VIEW DDL CREATE VIEW View_Name AS
SELECT Attributliste FROM Tabellenliste WHERE Bedingungen;
Datensicht erstellen.
Erstelle eine View / Datensicht auf Basis einer Abfrage.
CREATE VIEW Studenten_ET AS
SELECT Matrikelnr, Student.Name, Vorname, Art FROM Student, Studiengang WHERE Student.StudiengangID = Studiengang.ID;
GRANT DCL GRANT Berechtigungen ON Datenbankobjekt TO Benutzer [WITH GRANT OPTION]; Zugriffsrechte erteilen.
Z.B. dem Benutzer localuser das Recht erteilen, Tabellen anzulegen.
GRANT CREATE TABLE TO localuser;
GRANT SELECT, INSERT, UPDATE, DELETE ON university.Student TO localuser;
REVOKE DCL REVOKE Berechtigungen FROM Benutzer Zugriffsrechte entziehen.
Z.B. dem Benutzer localuser das Recht entziehen, Tabellen anzulegen.
REVOKE CREATE TABLE FROM localuser;
TRUNCATE DDL TRUNCATE TABLE Tabelle; Tabelleninhalt endgültig löschen.
TRUNCATE gilt als DDL-Befehl, da er den Tabelleninhalt vollständig löscht, und auch einige Definitionseigenschaften der Tabelle zurücksetzt, dieser Befehl kann nicht rückgängig gemacht werden.
TRUNCATE TABLE Mitarbeiter;
Befehl Art Syntax Wirkung Beispiel

Tools, Quellen und weiterführende Links

Tools:

Quellen und weiterführende Links: