SQL Grundlagen
Kategorie: Systemintegration
Definition
SQL (Structured Query Language) ist die Standardsprache für relationale Datenbanken. Mit SQL können Daten gespeichert, abgefragt, geändert und gelöscht werden. SQL wird von nahezu allen relationalen Datenbanksystemen unterstützt, darunter MySQL, MariaDB, PostgreSQL, Oracle und Microsoft SQL Server.
Einsatzgebiete
• Daten abfragen
• Daten speichern
• Daten ändern
• Daten löschen
• Tabellen erstellen
• Benutzer verwalten
• Rechte vergeben
SQL-Befehlsgruppen
DDL (Data Definition Language)
• CREATE
• ALTER
• DROP
DML (Data Manipulation Language)
• INSERT
• UPDATE
• DELETE
DQL (Data Query Language)
• SELECT
DCL (Data Control Language)
• GRANT
• REVOKE
CREATE TABLE
Mit CREATE TABLE wird eine neue Tabelle erstellt.
Beispiel:
CREATE TABLE kunden (
id INT PRIMARY KEY,
vorname VARCHAR(50),
nachname VARCHAR(50),
ort VARCHAR(50)
);
Datentypen
INT
Ganzzahlen
VARCHAR(n)
Zeichenketten variabler Länge
DATE
Datumswerte
DECIMAL
Kommazahlen
BOOLEAN
Wahr/Falsch
INSERT
INSERT fügt neue Datensätze in eine Tabelle ein.
Beispiel:
INSERT INTO kunden
(id, vorname, nachname, ort)
VALUES
(1, 'Max', 'Mustermann', 'Berlin');
SELECT
SELECT wird verwendet, um Daten aus einer Tabelle auszulesen.
Alle Datensätze:
SELECT * FROM kunden;
Bestimmte Spalten:
SELECT vorname, nachname
FROM kunden;
WHERE
WHERE filtert Datensätze nach Bedingungen.
Beispiel:
SELECT *
FROM kunden
WHERE ort = 'Berlin';
Vergleichsoperatoren
= gleich
!= ungleich
> größer
< kleiner
>= größer gleich
<= kleiner gleich
AND und OR
Mehrere Bedingungen können kombiniert werden.
SELECT *
FROM kunden
WHERE ort = 'Berlin'
AND nachname = 'Mustermann';
ORDER BY
Sortiert Ergebnisse.
Aufsteigend:
SELECT *
FROM kunden
ORDER BY nachname ASC;
Absteigend:
SELECT *
FROM kunden
ORDER BY nachname DESC;
UPDATE
UPDATE ändert bestehende Datensätze.
UPDATE kunden
SET ort = 'Hamburg'
WHERE id = 1;
DELETE
DELETE entfernt Datensätze.
DELETE FROM kunden
WHERE id = 1;
Primärschlüssel
Der Primärschlüssel identifiziert jeden Datensatz eindeutig.
Eigenschaften:
• eindeutig
• nicht NULL
• nur einmal pro Tabelle
Fremdschlüssel
Fremdschlüssel stellen Beziehungen zwischen Tabellen her.
Beispiel:
Ein Kunde besitzt mehrere Bestellungen.
JOIN
JOIN verbindet Daten aus mehreren Tabellen.
Beispiel:
SELECT kunden.vorname,
bestellungen.bestellnummer
FROM kunden
INNER JOIN bestellungen
ON kunden.id = bestellungen.kunden_id;
INNER JOIN
Gibt nur Datensätze zurück, die in beiden Tabellen vorhanden sind.
LEFT JOIN
Gibt alle Datensätze der linken Tabelle zurück.
Fehlende Werte der rechten Tabelle werden mit NULL gefüllt.
COUNT
Zählt Datensätze.
SELECT COUNT(*)
FROM kunden;
SUM
Addiert Werte.
SELECT SUM(preis)
FROM produkte;
AVG
Berechnet den Durchschnitt.
SELECT AVG(preis)
FROM produkte;
MIN und MAX
MIN = kleinster Wert
MAX = größter Wert
SELECT MAX(preis)
FROM produkte;
GROUP BY
Gruppiert Datensätze.
SELECT ort,
COUNT(*)
FROM kunden
GROUP BY ort;
HAVING
Filtert Gruppen nach GROUP BY.
SELECT ort,
COUNT(*)
FROM kunden
GROUP BY ort
HAVING COUNT(*) > 5;
Typische Prüfungsfrage
Was ist der Unterschied zwischen WHERE und HAVING?
WHERE filtert Datensätze vor der Gruppierung.
HAVING filtert Gruppen nach der Gruppierung.
Typische Prüfungsfrage
Was ist ein JOIN?
Ein JOIN verbindet Datensätze aus mehreren Tabellen anhand gemeinsamer Attribute.
Merksätze für die Prüfung
SELECT liest Daten.
INSERT fügt Daten ein.
UPDATE ändert Daten.
DELETE löscht Daten.
Primärschlüssel identifizieren Datensätze.
Fremdschlüssel verbinden Tabellen.
JOINs verknüpfen mehrere Tabellen miteinander.