Wiki: Mathe und Info

Unterrichtsmaterialien für Mathematik und Informatik

Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:sek-ii:q2:sql:lektion4

Dies ist eine alte Version des Dokuments!


Verändern von Datenbankeinträgen

Verändern von Datenbankeinträgen

Um die Daten in Datenbanken verändern zu können, benötigt man drei grundlegende Operationen:

  • Einfügen neuer Datensätze
  • Bearbeiten bestehender Datensätze
  • Löschen überflüssiger Datensätze

Hierfür bietet SQL die DML (Data Manipulation Language). Diese besteht aus den drei Befehlen INSERT INTO, UPDATE und DELETE FROM, die wir im folgenden kennen lernen werden.

Wir gehen in den folgenden Beispielen von dieser Datenbank aus:

Personen(ID, Name, Geburtstag)
Aufgabe 1

Lade dir die Datei personen.sqlite3 herunter und öffne sql.wiki-mathe-info.de. Importiere anschließend die heruntergeladene Datei! Die folgenden Beispiele beziehen sich hierauf!

INSERT INTO
INSERT INTO Personen(ID, Name, Geburtstag)
VALUES (5, 'Hans', '1969-01-01');

Der Insert-Befehl spezifiziert zunächst die Tabelle und die Attribute, die eingefügt werden sollen. Dies müssen nicht zwangsläufig alle sein!

INSERT INTO Personen(ID, Name)
VALUES (6, 'Bernd');

Vorsicht! Manche Spalten wurden so definiert, dass sie NULL-Werte nicht zulassen. Der folgende Befehl würde im Beispiel mit der Fehlermeldung NOT NULL constraint failed: Personen.Name fehlschlagen.

INSERT INTO Personen (ID, Geburtstag)
VALUES (12, '1999-01-01')

Man kann auch mehrere Datensätze mit einem einzigen Befehl einfügen. Die Beispieldatenbank wurde so erstellt:

INSERT INTO Personen(ID, Name, Geburtstag)
VALUES (1, 'Horst', '1957-03-25'),
       (2, 'Gerlinde', '1953-02-11'),
       (3, 'Else', '1964-11-21'),
       (4, 'Hubert', NULL);
UPDATE
UPDATE Personen
SET Name = 'Heinz'
WHERE ID = 1

Der UPDATE-Befehl spezifiziert zunächst die Tabelle, die angepasst werden soll. Anschließend werden mit der SET-Klausel die zu verändernden Daten angegeben. Die WHERE-Klausel spezifiziert wie beim SELECT, welche Datensätze angepasst werden sollen. Dies können auch mehrere gleichzeitig sein!

UPDATE Personen
SET Geburtstag = '1900-01-01'
WHERE Geburtstag IS NULL
DELETE FROM
DELETE FROM Personen
WHERE ID = 2

Der DELETE-Befehl spezifiziert zunächst die Tabelle, aus der Daten gelöscht werden sollen. Im Anschluss wird mit einer WHERE-Klausel wie beim SELECT spezifiziert, welche Datensätze zum Löschen ausgewählt werden sollen. Dies können ebenso mehrere sein!

DELETE FROM Personen
WHERE Geburtstag = '1900-01-01'

VORSICHT! Die WHERE-Klausel ist optional! Dieser Befehl löscht ALLE Datensätze der Tabelle:

DELETE FROM Personen;
Aufgabe 2

a) Lade dir die Datei personen_mit_essen.sqlite3 herunter und öffne sie in sql.wiki-mathe-info.de.

b) Erstellt eine Geburtstagsliste des Kurses! Wer seinen Geburtstag nicht angeben möchte, muss das nicht!

c) Sammelt die Lieblingsessen des Kurses und speichert diese!

info/sek-ii/q2/sql/lektion4.1708859239.txt.gz · Zuletzt geändert: 2024-02-25 12:07 von christian.weber