Structured Query Language

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

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

Digicomp-Kurse