Grundlagen

Theorie Icon SQL (Structured Query Language) ist eine Datenbanksprache, also eine formale Sprache, die es erlaubt, die Tabellen einer Datenbank zu erstellen, Datensätze zu bearbeiten, einzufügen und zu löschen und Anfragen auf dem Datenbestand auszuführen.

Im Modul „Programmierung“ haben wir mit Python eine imperative Programmiersprache kennengelernt, bei dem das Programm aus einer Folge von Anweisungen besteht, die vorgeben, in welcher Reihenfolge was vom Computer getan werden soll. Im Gegensatz dazu wird SQL zu den deklarativen, nicht-prozeduralen Sprachen gezählt. Eine SQL-Anweisung beschreibt das gewünschte Ergebnis, z. B. die Erstellung einer Tabelle oder die Rückgabe eines bestimmten Ausschnitts aus der Datenbank, aber nicht die Art und Weise, wie die Anweisung ausgeführt wird.

Beispiel

Schau dir dieses DBFiddle an. Die Tabelle Person wurde zunächst erstellt und erste Tupel der Tabelle hinzugefügt. Auf der rechten Seite sehen wir eine Abfrage, die alle Einträge dieser Tabelle zurück gibt.

Mit einem Klick auf „Run“ werden beide Abfragen ausgeführt und das Ergebnis der SELECT-Abfrage ausgegeben.

Arten von SQL-Anweisungen

Wir unterscheiden drei verschiedene Teilbereiche einer Datenbanksprache, diese sind:
  • DDL - Data Definition Language
    dient der Erstellung und Beschreibung von Tabellen, z. B. der Befehl CREATE
  • DML - Data Manipulation Language
    zum Lesen, Verändern und Löschen von Daten, sowie zur Formulierung von Datenbankenabfragen z. B. die Befehle INSERT und SELECT
  • DCL - Data Control Language
    zur Zugriffskontrolle (Berechtigungen vergeben und entziehen), z. B. der Befehl GRANT

Unser DBFiddle enthält also bereits SQL-Anfragen, die zur Kategorie DDL und DML gehören.

Auf den folgenden Seiten werden wir die verschiedenen Arten von SQL-Anfragen genauer kennenlernen. Wir unterscheiden hierfür Datenanweisungen und Schemaanweisungen:
Mit Schemaanweisungen wird die Struktur einer Datenbank festgelegt. Es werden also die Tabellen, Tabellenattribute und die Datentypen der Attribute definiert. Mit Datenanweisungen fügen wir Daten in die Datenbank ein, können Daten abfragen, verändern und löschen.