Dies ist eine alte Version des Dokuments!


SQL-Einführung

Die Abkürzung SQL steht für Structured Query Language. Es handelt sich um eine Datenbanksprache zur Erstellung von Datenbankstrukturen in relationalen Datenbanken sowie zum Bearbeiten und Abfragen der darin gespeicherten Datenbestände.


Die Datenbanksprache SQL (Structured Query Language) basiert auf der relationalen Algebra. Ihre Syntax ist vergleichsweise einfach und stark an die englische Sprache angelehnt.

SQL dient zur:

  • Abfrage von Daten
  • Auswertung von Daten
  • Verwaltung von Daten
  • Programmierung innerhalb von Datenbanken

Im Begriff SQL steckt das englische Wort query (= Abfrage). Mit dem Befehl

SELECT

können Daten abgefragt werden. Weitere wichtige Befehle sind:

  • INSERT

    – Daten einfügen

  • UPDATE

    – Daten ändern

  • DELETE

    – Daten löschen

Diese vier Befehle bilden zusammen die sogenannten CRUD-Operationen: C = Create, R = Read, U = Update, D = Delete. Sie sind die Grundlage jeder Datenbankarbeit.


SQL (Structured Query Language) ist eine Standardsprache zur Verwaltung und Bearbeitung relationaler Datenbanken. Sie stellt Befehle bereit, um Daten zu definieren, abzufragen, zu manipulieren und zu kontrollieren.

Im Detail besteht SQL aus fünf Untersprachen, die jeweils für bestimmte Gruppen von Operationen zuständig sind. Bitte beachten: Nur die fett markierten Untersprachen sind für Modul 290 relevant.

  • DDL = Data Definition Language (Datendefinitionssprache): Befehle zur Erstellung, Veränderung und Löschung von Datenbankstrukturen, z. B. um Datenbanken und Tabellen anzulegen, Tabellenstrukturen zu ändern oder Datenbanken und Tabellen zu löschen.
  • DQL = Data Query Language (Datenabfragesprache): Befehle zur Abfrage von Daten aus der Datenbank, z. B. um Tabelleninhalte mit und ohne Filter in bestimmter Reihenfolge auszuwählen.
  • TCL = Transaction Control Language (Transaktionssprache): Befehle zur Steuerung von Transaktionen, z. B. Commit, Rollback oder Savepoints, um die Datenintegrität sicherzustellen.
  • DML = Data Manipulation Language (Datenmanipulationssprache): Befehle zum Einfügen, Ändern und Löschen von Daten in Tabellen. Mit DML werden die Inhalte einer Tabelle verwaltet.
  • DCL = Data Control Language (Datenkontrollsprache): Befehle zur Verwaltung von Zugriffsrechten, z. B. Benutzerberechtigungen und Benutzerprofile. Zentrale Frage: „Welcher Benutzer darf auf welches Datenbankobjekt zugreifen?“


CRUD-Operationen spielen in allen drei Schichten einer Drei-Schichten-Webarchitektur eine Rolle (Präsentationsschicht, Logik-/Serverschicht, Datenschicht). In der Datenschicht werden CRUD-Operationen wie folgt mit SQL umgesetzt:


Oft sagt man „eine Datenbank“ und meint damit eine Installation wie MySQL. Genauer gesagt gilt im relationalen Modell:

  • Ein Datenbankserver 1) kann mehrere Datenbanken verwalten.
  • Eine Datenbank besteht aus mehreren Tabellen.
  • Tabellen bestehen aus Spalten (Attribute) und Zeilen (Datensätze).

Wir verwenden als Beispiel eine Tabelle mit Filmen aus der IMDB. Jeder Film hat Titel, Erscheinungsjahr, Genre, Bewertung, Stimmenzahl, Laufzeit und Einspielergebnis.

Eine mögliche Tabelle movies könnte so aussehen:

Filmtitel Jahr Genre Rating One-Line
Orange Is the New Black (2013–2019) Comedy, Crime, Drama 8 Convicted of a decade old crime of transporting drug money to an ex-girlfriend, normally law-abiding Piper Chapman is sentenced to a year and a half behind bars to face the reality of how life-changing prison can really be.
The Queen's Gambit (2020) Drama 8.6 Orphaned at the tender age of nine, prodigious introvert Beth Harmon discovers and masters the game of chess in 1960s USA. But child stardom comes at a price.

Mit

SELECT

können wir Daten aus der Tabelle abrufen:

-- Alle Filme anzeigen
SELECT * FROM movies;
 
-- Alle Action-Filme mit Bewertung über 8.5
SELECT title, rating FROM movies
WHERE genre = 'Action' AND rating > 8.5;
 
-- Die 5 bestbewerteten Filme
SELECT title, rating FROM movies
ORDER BY rating DESC
LIMIT 5;

1)
Mit „Datenbankserver“ ist hier die Software gemeint, also das Datenbankmanagementsystem (DBMS).
  • modul/m290_guko/learningunits/lu02/theorie/a_sql_basics.1756000215.txt.gz
  • Zuletzt geändert: 2025/08/24 03:50
  • von gkoch