SQL Basics

Was ist SQL?

SQL: Die Universalsprache für relationale Datenbanken

Stell dir eine relationale Datenbank wie eine riesige, perfekt organisierte Lagerhalle vor. Jedes Regal (Tabelle) enthält bestimmte Artikel (Daten), die in Fächern (Spalten) nach Eigenschaften sortiert sind und jede Reihe von Fächern einen bestimmten Artikel (Datensatz) darstellt. Um in dieser Lagerhalle Artikel zu finden, neue einzulagern, umzusortieren oder zu entfernen, brauchst du eine klare Sprache, die jede:r Mitarbeitende in der Halle versteht. Genau das ist SQL (Structured Query Language) für relationale Datenbanken. Es ist die Standardsprache, um mit diesen Datenbanken zu kommunizieren – also um Daten zu definieren, zu manipulieren und abzufragen. Egal, ob du Kund:innendaten verwaltest, Produktkataloge pflegst oder Zugriff auf Bestandsinformationen benötigst, SQL ist das Werkzeug, das dir präzise Kontrolle über deine Daten gibt.

Die drei Säulen der SQL-Befehle: DDL, DML und DQL

SQL-Befehle lassen sich, je nach ihrer Aufgabe, in drei grundlegende Kategorien einteilen. Diese Struktur hilft dir zu verstehen, welche Art von Operation du gerade durchführst:

  • DDL (Data Definition Language – Datendefinitionssprache): Wie eine Architekt:in entwirfst du mit DDL-Befehlen das Grundgerüst deiner Datenbank. Du legst fest, wie deine "Regale" (Tabellen) aussehen, welche "Fächer" (Spalten) sie haben und welche Art von Artikeln (Datentypen) hineinpassen. Auch Regeln, wie dass jedes Fach eine eindeutige Nummer haben muss (Primärschlüssel), definierst du hier. Typische Befehle: CREATE TABLE (neues Regal bauen), ALTER TABLE (Regal umbauen), DROP TABLE (Regal abreißen).
  • DML (Data Manipulation Language – Datenmanipulationssprache): Sobald die Regale stehen, füllst du sie mit DML-Befehlen mit Leben. Du verwaltest die konkreten Artikel (Daten) in deinen Regalen: Du lagerst neue Artikel ein, änderst die Beschriftung vorhandener Artikel oder nimmst Artikel heraus, die nicht mehr gebraucht werden. Typische Befehle: INSERT (neuen Artikel einlagern), UPDATE (Artikelinformationen ändern), DELETE (Artikel entfernen).
  • DQL (Data Query Language – Datenabfragesprache): Wenn du bestimmte Artikel oder Informationen aus deiner Lagerhalle benötigst, nutzt du DQL. Der wichtigste Befehl hier ist SELECT. Er ist wie eine präzise Suchanfrage an deine:n Lagerverwalter:in, um genau die Artikel oder Informationen zu bekommen, die du gerade brauchst. Typischer Befehl: SELECT (Artikel oder Informationen anzeigen lassen).

Wie wende ich grundlegende SQL-Befehle an?

Gezielt Informationen finden: Daten abfragen mit SELECT

Der SELECT-Befehl ist dein wichtigstes Werkzeug, um Informationen aus einer Datenbank zu gewinnen. Stell dir vor, du möchtest eine Liste aller Mitarbeitenden oder nur derer aus einer bestimmten Abteilung sehen. Die grundlegende Struktur einer SELECT-Abfrage für Daten aus einer einzelnen Tabelle sieht so aus:

SELECT Spaltenname1, Spaltenname2, ...
FROM Tabellenname
WHERE Bedingung;
  • SELECT Spaltenname1, Spaltenname2, ...: Hier gibst du an, welche "Fächer" (Spalten) der Tabelle dich interessieren. Möchtest du alle Informationen zu den ausgewählten Datensätzen sehen, verwendest du das Sternchen *.
  • FROM Tabellenname: Damit teilst du der Datenbank mit, aus welchem "Regal" (Tabelle) die Informationen stammen sollen.
  • WHERE Bedingung: Diese Klausel ist optional und dient als Filter. Nur die "Artikel" (Zeilen/Datensätze), die diese Bedingung erfüllen, werden angezeigt.

Praktisches Beispiel: Nehmen wir an, wir haben eine Tabelle Mitarbeitende mit den Spalten MitarbeitendenID, Vorname, Nachname, Abteilung und Gehalt.

  • Alle Nachnamen und die jeweilige Abteilung aller Mitarbeitenden anzeigen:
SELECT Nachname, Abteilung
FROM Mitarbeitende;
  • Alle Informationen zu Mitarbeitenden aus der Abteilung 'IT', die mehr als 50.000 € verdienen:
SELECT *
FROM Mitarbeitende
WHERE Abteilung = 'IT' AND Gehalt > 50000;

Daten aktiv gestalten: Einfügen, Ändern und Löschen mit DML

Mit DML-Befehlen kannst du den Inhalt deiner Tabellen aktiv verändern.

  • INSERT: Fügt neue Datensätze (Zeilen) in eine Tabelle ein. Das ist so, als würdest du eine neue Akte für eine:n neue:n Mitarbeitende:n anlegen.
INSERT INTO Tabellenname (Spalte1, Spalte2, Spalte3)
VALUES (Wert1, Wert2, Wert3);

Beispiel: Eine:n neue:n Mitarbeitende:n in die Tabelle Mitarbeitende aufnehmen.

INSERT INTO Mitarbeitende (MitarbeitendenID, Vorname, Nachname, Abteilung, Gehalt)
VALUES (103, 'Erika', 'Mustermann', 'Marketing', 48000);
  • UPDATE: Modifiziert bestehende Datensätze in einer Tabelle. Das ist vergleichbar mit dem Aktualisieren der Adresse oder des Gehalts eine:r Mitarbeitende:n. Wichtig: Nutze immer eine WHERE-Klausel, um genau festzulegen, welche Datensätze geändert werden sollen, sonst änderst du alle!
UPDATE Tabellenname
SET Spalte1 = NeuerWert1, Spalte2 = NeuerWert2
WHERE Bedingung;

Beispiel: Das Gehalt der mitarbeitenden Person mit der MitarbeitendenID 103 auf 52000 erhöhen und die Abteilung auf 'Vertrieb' ändern.

UPDATE Mitarbeitende
SET Gehalt = 52000, Abteilung = 'Vertrieb'
WHERE MitarbeitendenID = 103;
  • DELETE: Entfernt Datensätze aus einer Tabelle. Stell dir vor, eine mitarbeitende Person verlässt das Unternehmen. Wichtig: Auch hier ist die WHERE-Klausel entscheidend, um nicht versehentlich alle Daten zu löschen!
DELETE FROM Tabellenname
WHERE Bedingung;

Beispiel: Die mitarbeitende Person mit der MitarbeitendenID 103 aus der Tabelle entfernen.

DELETE FROM Mitarbeitende
WHERE MitarbeitendenID = 103;

Das Fundament legen: Tabellen definieren mit CREATE TABLE

Mit dem CREATE TABLE-Befehl aus der DDL erstellst du die Struktur für neue Tabellen in deiner Datenbank. Du legst fest, wie die Tabelle heißt, welche Spalten sie hat, welche Datentypen diese Spalten speichern können und welche grundlegenden Regeln (Constraints) gelten.

CREATE TABLE Tabellenname (
    Spaltenname1 Datentyp [Constraints],
    Spaltenname2 Datentyp [Constraints],
    ...
    PRIMARY KEY (Spaltenname_fuer_Primaerschluessel)
);
  • Datentyp: Bestimmt die Art der Daten, die eine Spalte aufnehmen kann (z.B. INT für ganze Zahlen, VARCHAR(255) für Text bis zu 255 Zeichen, DATE für Datumsangaben, DECIMAL(10, 2) für Geldbeträge mit zwei Nachkommastellen, BOOLEAN für Wahrheitswerte).
  • Constraints (Integritätsbedingungen): Regeln, die die Datenqualität und -konsistenz sicherstellen.
    • NOT NULL: Die Spalte darf nicht leer bleiben; ein Wert muss beim Einfügen eines Datensatzes angegeben werden.
    • PRIMARY KEY: Definiert eine oder mehrere Spalten als Primärschlüssel. Der Wert in dieser Spalte (oder die Kombination der Werte bei zusammengesetzten Schlüsseln) muss jeden Datensatz in der Tabelle eindeutig identifizieren und darf nicht leer (NULL) sein.

Beispiel: Eine Tabelle für Projekte erstellen.

CREATE TABLE Projekte (
    ProjektID INT PRIMARY KEY,
    Projektname VARCHAR(255) NOT NULL,
    Startdatum DATE,
    Budget DECIMAL(10, 2) NOT NULL,
    Status VARCHAR(50)
);

Diese Anweisung erstellt eine Tabelle namens Projekte. ProjektID ist der Primärschlüssel und muss jeden Projekteintrag eindeutig kennzeichnen. Projektname und Budget dürfen nicht leer sein. Startdatum und Status können optional angegeben werden.

Lernziele

  • die Rolle von SQL als Datenbanksprache und dessen Hauptkategorien von Befehlen erklären, indem die Funktion von SQL zur Definition (DDL), Manipulation (DML) und Abfrage (DQL) von Daten in relationalen Datenbanken erläutert und die jeweilige Kategorie anhand typischer Befehle charakterisiert wird.
  • einfache Datenabfragen aus einer einzelnen Tabelle auszuführen, indem die SQL-Klauseln SELECT, FROM und WHERE korrekt angewendet werden, um spezifische Datensätze und Attribute zu extrahieren und anzuzeigen.
  • grundlegende Datenmanipulationsoperationen auszuführen, indem SQL-Befehle wie INSERT zum Hinzufügen neuer Datensätze, UPDATE zum Ändern bestehender Datensätze und DELETE zum Entfernen von Datensätzen in einer Tabelle unter Beachtung von Primärschlüsseln und einfachen Constraints angewendet werden.
  • eine einfache Datenbanktabelle mit grundlegenden Integritätsbedingungen umzusetzen, indem der SQL-Befehl CREATE TABLE verwendet wird, um Spalten mit passenden Datentypen sowie Primärschlüssel- und NOT NULL-Constraints zu definieren, aufbauend auf dem Wissen über das relationale Modell und Schlüsselkonzepte.

Genug gelesen? Zeit, es wirklich zu können!

Die Theorie aus diesem Artikel ist die perfekte Basis. In der asyoube Lernplattform wendest du dieses Wissen an, bekommst persönliches Feedback und bereitest dich interaktiv auf deine Ausbildung oder deine Prüfungen vor.

Für Ausbilder & Unternehmen

Möchten Sie Ihr gesamtes Team mit asyoube ausbilden? Entdecken Sie unsere B2B-Lösung mit einfacher Verwaltung, Fortschritts-Tracking für Ihre Azubis und attraktiven Team-Preisen.