Structured Query Language
Die Structured Query Language / SQL ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO standardisiert und wird von fast allen gängigen Datenbanksystemen unterstützt. SQL umfasst die folgenden Datenbanksprachen:
- Data Manipulation Language / DML
- Data Definition Language / DDL
- Data Control Language / DCL
Die Syntax von SQL ist vergleichsweise einfach aufgebaut und semantisch an die englische Umgangssprache angelehnt. SQL stellt eine Reihe von Befehlen zur Definition von Datenstrukturen nach der relationalen Algebra, zur Manipulation von Datenbeständen (Einfügen, Bearbeiten und Löschen von Datensätzen) und zur Abfrage von Daten zur Verfügung. Durch seine Rolle als Quasi-Standard ist SQL von grosser Bedeutung, da eine weitgehende Unabhängigkeit von der benutzten Datenbank-Software erzielt werden kann.
Die meisten gegenwärtig verbreiteten Datenbanksysteme implementieren Teile des SQL-Sprachstandards. Dadurch ist es möglich, Anwendungsprogramme zu erstellen, die vom verwendeten Datenbanksystem unabhängig sind. In der Vor-SQL-Zeit gelang dies mit dem System der kompatiblen Schnittstellen. Viele SQL-Implementierungen bieten darüber hinaus allerdings noch herstellerspezifische Erweiterungen, die nicht dem Standard-Sprachumfang entsprechen, was zur Folge hat, dass von den Herstellern parallel entwickelte gleiche Funktionen unterschiedliche Sprachelemente benutzen.
1982 gründete das ANSI ein Gremium, das 1986 den ersten SQL-Standard für relationale Datenbanksprachen verabschiedete. Dieser Standard entsprach grösstenteils dem SQL-Dialekt von IBM und wurde 1987 von der ISO ratifiziert. 1992 wurde der Standard deutlich überarbeitet und als SQL-92 (auch: SQL2) veröffentlicht. Alle aktuellen Datenbanksysteme halten sich im wesentlichen an diese Standardversion. Die Version SQL:1999 (auch: ISO/IEC 9075:1999, SQL3) ist noch nicht in allen Datenbanksystemen implementiert. Das gilt auch für die nächste Version SQL:2003. Der aktuelle Standard wurde 2008 unter SQL:2008 verabschiedet.
FAQ
Mehrere Änderungen in einem update-Befehl
Beispiel.
update d01buch set d01bnr="0123456", d01status=2, d01rv="15.04.2009" where d01gsi="987654321"
DELETE und TRUNCATE
Sowohl DELETE wie TRUNCATE können zum Löschen von Daten einer Tabelle verwendet werden.
DELETE | TRUNCATE | |
---|---|---|
Befehlsart | DML-Befehl | DDL-Befehl |
Zweck | Zum Löschen spezifischer Daten einer Tabelle. | Zum Löschen aller Daten einer Tabelle. |
WHERE-Bedingung | Kann verwendet werden. | Kann nicht verwendet werden. |
Sperren | Vor dem Löschen der Datenzeile wird diese gesperrt. | Vor dem Löschen wird die gesamte Tabelle gesperrt. |
Rollback | Möglich. | Nicht möglich |
Geschwindigkeit | Langsamer als TRUNCATE. | Schneller als DELETE. |
Beispiel | DELETE FROM tabelle; DELETE FROM tabelle WHERE bedingung; |
TRUNCATE TABLE tabelle;
|
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Wikipedia | ger | SQLwbm | Enzyklopädischer Artikel |
SQL joins