Bearbeiten vorhandener Datensätze mit UPDATE-Befehl
UPDATE
Das Einfügen eines neuen Datensatzes in eine Datenbanktabelle erfolgt mit dem INSERT-Befehl:
INSERT-
Die einzufügenden Werte können auch aus bereits vorhandenen Daten abgeleitet werden. -> Dazu wird VALUES(…) durch Datenbankabfrage ersetzt
VALUES(…)
Löschen vorhandener Datensätze mit DELETE-Befehl
DELETE
Einfache SQL-Datenbankabfragen:
bestehen aus SELECT und FROM
SELECT
FROM
will man alle Attribute auswählen: SELECT *
SELECT *
mathematische Ausdrücke mit AS Name zuweisen
AS
DISTINCT eliminiert Duplikate in der Ausgabe
DISTINCT
Mit Schlüsselwort WHERE können einfache Datenbankabfragen um bedingungen erweitert werden:
WHERE
Die Bedingung im WHERE-Teil muss ein logischer Ausdruck sein, d.h. zu wahr oder falsch. dazu verwendete Operatoren:
Gleich (=), ungleich (<>), größer (>), kleiner (<), größer/gleich (>=), kleiner/gleich (<=)
(=)
(<>)
(>)
(<)
(>=)
(<=)
Nullwertüberprüfung: IS [NOT] NULL
IS [NOT] NULL
Logisches Und (AND), logisches Oder (OR), logisches Nicht (NOT)
(AND)
(OR)
(NOT)
Mit Schlüselwort ORDER BY lassen sich Abfrageergebnisse sortieren:
ORDER BY
werden unter ORDER BY mehrere Attribute angegeben, so wird zunächst nach dem ersten Attribut sortiert, dann nach dem zweiten etc.
Mit Zusätzen ASC und DESC kann angegeben werden, ob auf-/absteigend sortiert werden sol
ASC
DESC
Mathematische Ausdrücke anstatt einfacher Attribute, die mit AS benannt werden
Abfragen über mehrere Tabellen
gibt man im FROM-Teil mehrere Tabellen an, bildet DBMS deren kartesisches Produkt, d.h. paarweise Kombination aller Tabellenzeilen.
-> Kombinatorische Explosion
-> abfragen über INNER-, OUTER-, SELF JOIN
INNER JOIN - Befehl
INNER JOIN
kombiniert Daten aus zwei Tabellen
OUTER JOIN - Befehl
OUTER JOIN
Prinzip wie INNER JOIN; kombiniert Tabellen jedoch auch wenn es keine exakte Übereinstimmung gibt
INNER JOIN;
LEFT JOIN Zeigt alle zeilen aus linker Tabelle & ergänzt passende Werte aus der rechten Tabelle.
LEFT
JOIN
RIGHT JOIN Zeigt alle zeilen aus rechter Tabelle & ergänzt passende Werte aus der linken Tabelle.
RIGHT
FULL JOIN Zeigt alle Zeilen aus allen Tabellen.
FULL
Sonderfall: SELF JOIN
SELF JOIN
Tabelle mit sich selbst verbinden
wird verwendet, wenn die Daten in einer Tabelle in einer Beziehung zueinander stehen
Dabei wird dieselbe Tabelle zweimal im Query verwendet, wobei man ihr verschiedene Aliase gibt, um sie wie zwei verschiedene Tabellen behandeln zu können.
Aggregatfunktionen in SQL 1/2
Aggregatfunktionen führen eine Menge von Attributwerten unterschiedlicher Datensätze in einen skalaren, d.h. Atomaren Wert zusammen.
Aggregatsfunktionennkönnen auch auf Teilmengen von Datensätzen angewendet werden , indem diese anhand ihrer Attributwerte gruppiert werden:
*WAS IM SELECT STEHT; MUSS AUCH IM GROUP BY - BEFEHL STEHEN *
GROUP BY
im SELECT Teil dürfen ausschließlich Attribute direkt ausgew. werden, nach denen auch gruppiert wurde, da sich für alle anderen Attribute keine eindeutigen Werte ermitteln lassen.
Aggregatfunktionen
Aggregatfunktionen in SQL 2/2
Schlüsselwort HAVING -> hierbei können Ergebnistabellen auch nach Werten der Aggregatfunktion gefiltert werden
HAVING
Dynamisch zusammengesetzte Datensichten (Views) - Um zu verhindern, dass die gleiche SQL-Anfrage wiederholt erstellt werden muss:
Auf Datensicht kann (wie bei Tabelle), via FROM Name zugegriffen werden.
FROM Name
analog zu regulären Tabellen –
ALTER VIEW bearbeitet
ALTER VIEW
und mit DROP VIEW gelöscht werden.
DROP VIEW
in einer Datensicht enthaltenen Daten können nicht mit UPDATE bearbeitet werden, da sie nur dynamisch aus anderen Tabellen zusammengesetzt sind
Mit Transaktionen kann Serie von SQL-Befehlen als atomare Aktion ausgeführt werden:
Transaktion beginnt mit Befehl BEGIN TRANSACTION; und endet mit COMMIT; (= durchführen) oder ROLLBACK; (= abbrechen).
BEGIN TRANSACTION;
COMMIT;
ROLLBACK;
Operation1, Operation2, … sind beliebige SQL-Befehle. Effekte erst außerhalb TA sichtbar, wenn TA vollständig durchgeführt.
Operation1, Operation2, …
Tritt während TA ein technischer Fehler (z.B. Stromausfall, Hardwareschaden) auf, wird TA entsprechend des ACID-Paradigmas automatisch zurückgesetzt.
Last changed2 days ago