Universität zu Köln
Dozent: Patrick Sahle, M.A.
Seminar: "Allgemeine Technologien II"
Referat von Roman Quiring und Pierre Dedy am 11.03.09
SQL als Abfragesprache
theoretische und praktische Einführung
SQL (Structured Query Language), Datenbanksprache zur Definition,
Abfrage und Manipulation von Daten in relationalen Datenbanken
Entstand gegen Ende der 70er unter dem Namen SEQUEL
„Nichtprozedural“: Formuliert nur was getan werden soll, ohne es
selbst zu tun
Befehle orientieren sich an natürlicher Sprache (Englisch)
Erweiterbar durch Schnittstellen zu anderen Programmiersprachen und
durch Exportfunktionen
Data Manipulation Language
Daten können abgerufen und manipuliert werden
Wichtigste Befehle: SELECT, INSERT, UPDATE, DELETE
Data Definition Language
Relationen werden erzeugt/ergänzt/gelöscht
Wichtigste Befehle: CREATE, DROP, ALTER
Data Control Language
Rechte können gegeben und eingeschränkt werden
Wichtigste Befehle: GRANT, REVOKE
Datentypen
int: Ganze Zahl (Variationen smallint, bigint)
numeric (n,m): Festkommazahl (n Stellen, davon m Nachkommastellen
float (m): Gleitkommazahl (mit m Stellen)
real/double: Gleitkommazahlen (vom DBS festgelegt)
char (n): Zeichenkette mit n Stellen
varchar: Zeichenkette variabler Länge
date: Datumsangabe
time: Zeitangabe
timestamp: Datum und Uhrzeit
boolean: wahr- oder falsch-Wert
blob (n): „Binary Large Object“ mit n Byte Länge
clob (n): „Character Large Object“ mit n Zeichen Länge
Kleines Befehlslexikon
Select:
SELECT "Spalten_Name"
FROM "Tabellen_Name"
http://sql.1keydata.com/de/sql-select.php
Distinct:
SELECT DISTINCT "Spalten_Name"
FROM "Tabellen_Name"
http://sql.1keydata.com/de/sql-distinct.php
Where:
SELECT "Spalten_Name"
FROM "Tabellen_Name"
WHERE "Bedingung"
http://sql.1keydata.com/de/sql-where.php
And/Or :
SELECT "Spalten_Name"
FROM "Tabellen_Name"
WHERE "einfache Bedingung"
{[AND|OR] "einfache Bedingung"}
http://sql.1keydata.com/de/sql-and-or.php
Count:
SELECT COUNT("Spalten_Name")
FROM "Tabellen_Name"
http://sql.1keydata.com/de/sql-count.php
Union / Union All:
SELECT "Spalten_Name"
FROM "Tabellen_Name"
UNION [ALL]
SELECT "Spalten_Name" FROM "Tabellen_Name"
http://sql.1keydata.com/de/sql-union.php
http://sql.1keydata.com/de/sql-union-all.php
Intersect:
SELECT "Spalten_Name"
FROM "Tabellen_Name"
INTERSECT
SELECT "Spalten_Name"
FROM "Tabellen_Name"
http://sql.1keydata.com/de/sql-intersect.php
Vergleiche in Kombination mit Where
=, >, >=, <, <=, !=
Arithmetische Operationen
+, -, /, *, % (Modulo)
Like:
SELECT "Spalten_Name"
FROM "Tabellen_Name"
WHERE "Spalten_Name" LIKE {MUSTER}
http://sql.1keydata.com/de/sql-like.php
Platzhalter in Kombination mit LIKE
% - beliebige Zeichenkette
_ - beliebiges Zeichen
Case-sensitive!!!