SQL
steht für Structured Query Language.
Damit lässt sich eine Datenbank, Tabellen und Datensätze erstellen, updaten und löschen, also manipulieren. So lässt sich mit der Anfragesprache ein Datensatz manipulieren.
Was bedeutet SQL?
Structured Query Language
Was gibt es für Datentypen?
Ganze Zahlen
INTEGER
SMALLINT
INT
Kommutablen
DECIMAL(n, m): n Zeichen insgesamt, m Zeichen vor dem Komma
Beispiel:
GeldPreis decimal(10, 2)
10 Zahlen insgesamt, davon 2 Nachkommastellen
True/False oder 0/1
BOOL, BOOLEAN
Zeichenketten
CHAR(n) Zeichenkette genau n Zeichen lang
varchar(n) Zeichenkette bis zu n Zeichen lang
Datum
DATE
TIME
TIMESTAMP
INTERVAL
Wie erstellt man eine Tabelle?
Create Table Tabellenname
(
Spaltenname1 DATENTYP AUTO_INCREMENT,
Spaltenname2 DATENTYP,
PRIMARY KEY Spaltenname1
);
Tabelle mit Primary Key & Fremdschlüssel
Create Table `Tabellenname` (
CONSTRAINT `PK_Tabellenname` PRIMARY KEY(`Spaltenname1`),
CONSTRAINT `FK_Tabellenname` FOREIGN KEY (`Spaltenname2`) REFERENCES Tabellenname2 (`Spaltenname1`)
)
Wie ändert man eine Tabelle?
Spalte hinzufügen
Alter Table Tabellenname ADD COLUMN Spaltenname DATENTYP;
Spalte löschen
Alter Table Tabellenname DROP COLUMN Spaltenname;
Wie löscht man eine Tabelle?
DROP TABLE Tabellenname;
Wie erstellt man einen Fremdschlüssel mit Namen?
Fremdschlüssel mit Namen
CONSTRAINT FK_Name FOREIGN KEY (FremdschlüsselFeld) REFERENCES TabellenName (PrimärschlüsselFeld)
Fremdschlüssel ohne Namen
Wie fügt man einen Datensatz hinzu?
Einen Datensatz hinzufügen
INSERT INTO Tabellenname
(Spaltenname1, Spaltenname2, Spaltenname3)
VALUES
(Wert1, Wert2, Wert3);
Mehrere Datensätze hinzufügen
(Wert1, Wer2, Wert3),
(Wert1, Wert2, Wert3),
Datensatz hinzufügen mit Anzahl der Spalten
Beispiel Tabelle hat 4 Spalten
(Wert1, Wert2, Wert3, Wert4);
Beispiel Tabelle mit 2 Spalten
(Wert1, Wert2)
Wie bearbeitet man einen Datensatz?
Datensatz bearbeiten
UPDATE Tabellenname
SET Spaltenname = Wert1, Spaltenname2 = Wert2
WHERE Spaltenname3 = Wert3;
Wie löscht man einen Datensatz?
Datensatz löschen
DELETE FROM Tabellenname
WHERE Spaltenname1 = Wert1;
Wie erstellt man eine Abfrage?
Standard Abfrage
SELECT Spaltenname FROM Tabellenname WHERE Spaltenname = Wert;
Abfrage mit Wert einmal / ohne Duplikate
SELECT DISTINCT Spaltenname FROM Tabellenname;
Spaltenname kommt nur einmal vor
Abfrage mit Aliase
SELECT t1.Spaltenname, t2.Spaltenname FROM Tabellenname1 AS t1, Tabellenname2 AS t2
Abfrage mit allen Spalten der Tabelle
SELECT * FROM Tabellenname
Was sind Unterabfragen bzw. Subanfragen?
Unterabfragen / Subanfragen
Sind Abfragen innerhalb einer WHERE Bedingung einer SELECT Abfrage
Wie fragt man ab ob etwas nicht in einer Tabelle ist?
NOT IN
SELECT Spaltenname
FROM Tabellenname
WHERE Spaltenname NOT IN (SELECT Spaltenname FROM Tabellenname)
Wie fragt man ab ob etwas in einer anderen Tabelle ist?
IN
WHERE Spaltenname IN (SELECT Spaltenname FROM Tabellenname)
Wofür steht das Schlüsselwort: EXISTS?
EXISTS
Damit lässt sich eine Anfrage schreiben, die prüft ob das Ergbenis einer Subanfrage nicht leer ist.
Hierbei reicht es wenn die Subanfrage ein Tuple ausgibt als Ergebnis.
Wofür steht das Schlüsselwort: NOT EXISTS?
NOT EXISTS
Damit lässt sich eine Anfrage schreiben, die prüft ob das Ergebnis der Subanfrage leer ist.
Wofür steht das Schlüsselwort: ALL?
ALL
Damit lässt sich eine Anfrage schreiben, die prüft ob alle Ergebnisse der Subanfrage mit der WHERE Bedingung übereinstimmen
Wofür steht das Schlüsselwort: ANY?
ANY
Damit lässt sich eine Anfrage schreiben, die prüft ob mindestens ein Ergebnisse der Subanfrage mit der WHERE Bedingung übereinstimmen
Wofür steht das Schlüsselwort: ORDER BY?
ORDER BY
Anfrageergebnisse lassen sich mit dem Schlüsselwort ORDER BY sortieren
Die übliche Sortierung ist hierbei aufsteigend (ASC) möchte man es absteigen (DESC)
ASC
DESC
Wofür steht das Schlüsselwort: ASC?
Damit lässt sich aufsteigend sortieren
kleinster Wert zuerst
Ist die Standardsortierung
Wofür steht das Schlüsselwort: DESC?
Damit lässt sich absteigend sortieren
größter Wert zuerst
Wofür steht das Schlüsselwort: GROUP BY?
GROUP BY
Anfrageergebnisse lassen sich durch das Schlüsselwort GROUP BY in dusjunktive Gruppen partitionieren
VolNr
Count
1
13
2
150
Wie lässt sich Aggregieren ohne WHERE?
Im WHERE Teil ist aggregieren nicht erlaubt, so lässt sich das mit HAVING umgehen.
Nur in kombination mit GROUP BY
Wie wird eine SELECT - Anfrage ausgewertet?
Wie werden Datentypen wie VARCHAR und CHAR verglichen?
Was lässt sich mit dem Schlüsselwort: LIKE in der WHERE-Bedingung machen?
LIKE
Mit dem Schlüsselwort: LIKE in der WHERE-Bedingung lassen sich Datentypen wie Varchar und Char vergleichen.
Varchar
Char
In welchem Format wird der Datentyp DATE angegeben?
In welchem Format wird der Datentyp TIME angegeben?
In welchem Format wird der Datentyp TIMESTAMP angegeben?
Wie ändert man beim SELECT den Namen des Attributes?
AS
SELECT Name AS DerGewünschteName From TabellenName
Wie lässt sich das größte Ergebnis abfragen?
MAX
Ergebisse lassen sich aggregieren, so erhält man mit MAX(Spaltenname) den größten Wert dieser Spalte.
MAX(Spaltenname)
ID
Spaltenname
5
8
Ergebnis wäre: 8
Wie lassen sich Zeilen zählen?
COUNT
Ergebnisse lassen sich aggregieren, so zählt COUNT(*) alle Zeilen
COUNT(*)
Welche Aggregierungsmöglichkeiten gibt es?
Ergebnisse einer Anfrage lassen sich aggregieren, z.B. zählen, maximales Ergebnis oder minimales Ergebnis.
Zählt die Zeilen
SUM
Addiert die Zeilen zusammen
AVG
Berechnet den Durchschnittswert
MIN
Berechnet den minimalsten Wert
Berechnet den maximalsten Wert
Wie funktioniert die Vereinigung in SQL?
Vereinigung
Zeichen: U
Schlüsselwort: UNION
Wie funktioniert die Schnittmenge in SQL?
Schnittmenge
Zeichen: umgedrehtes u
Schlüsselwort: INTERSECT
INTERSECT
Wie funktioniert die Mengendifferenz in SQL?
Mengendifferenz
Zeichen: - oder /
Schlüsselwort: EXCEPT
EXCEPT
Wofür steht das Schlüsselwort EXCEPT?
Wofür steht das Schlüsselwort UNION?
Wofür steht das Schlüsselwort INTERSECT?
Wofür steht das Schlüsselwort COUNT(Attribut)?
Wofür steht das Schlüsselwort DISTINCT?
Wie funktioniert das kartesische Produkt in SQL?
Übersicht der JOIN’s
Was ist ein INNER JOIN?
INNER JOIN
Ein INNER JOIN wird benutzt um eine Verbindung zwischen 2 Entiäten/Tabellen herzustellen.
Was ist ein OUTER JOIN?
Was wird mit dem Schlüsselwort: EXISTS geprüft?
Was wird mit dem Schlüsselwort: NOT EXISTS geprüft?
Mit welchem Schlüsselwort lässt sich absteigend sortieren?
Mit welchem Schlüsselwort lässt sich aufsteigend sortieren?
Wie wird folgendes Anfrageergebnis sortiert?
SELECT Vorname, Nachname
FROM Studenten
ORDER BY Nachname DESC;
Wie erstelle ich eine Check Bedingung innerhalb einer Tabelle?
Check Bedingung in Tabelle
Wie funktioniert ON DELETE?
ON DELETE
Wie erstelle ich eine Tabellenübergreifende Check Bedingung?
Tabellenübergreifende Check Bedingung
Zuletzt geändertvor 2 Jahren