Schlagwort-Archiv: INSERT

Der Rahmen steht, Zeit ihn zu befüllen

Datenbanken sind permanenten Änderungen unterworfen, Datensätze kommen hinzu, werden geändert oder gelöscht. Man spricht hier von Manipulation der Daten. Manipulation bedeutet nichts anderes als “Änderung” ist aber der Fachterminus und sollte zumindest einmal angesprochen werden. In vielen Fachbüchern wird von Manipulation gesprochen und das kann zu Verwirrungen führen, weiß man nicht um den Zusammenhang. 

Die wichtigsten Anweisungen zur Manipulation von Tabellen sind: 

 

  • INSERT
  • UPDATE und 
  • DELETE

Tragen wir die Daten unseres Datenbankentwurfs in die Datenbank ein. Hier noch einmal der Link zu den Tabellenentwürfen.

INSERT INTO kunden
(kd_nr, name, vorname, strasse, hausnr, plz, mail, telefon)
VALUES (1, ‘Hintermaierberger’, ‘Josef’, ‘Landstr.’, 5,34562,  ‘johimabe@mustermail.de’, null);

Diese Eingabe führt zu folgendem Fehler:

fehlenderFK

Warum? Ganz einfach! Die Postleitzahl “plz” ist ein Fremdschlüssel in der Tabelle “kunden”. Da wir unsere Fremdschlüssel so angelegt haben, dass diese nur gültig sind, wenn Sie in der Tabelle in der sie Primärschlüssel sind, auch existieren, streikt der SQL-Server, da plz ‘34562’ in der Tabelle “ort” nicht existiert.

Wir können unseren Kunden nun entweder ohne “plz” anlegen und später durch die UPDATE-Anweisung ergänzen, oder wir befüllen zuerst die Tabelle “ort”.


PRAXISTIPP: Schreibt eure SQL-Anweisungen in einem Programm wie Notepad oder einem anderen Texteditor, da ihr in der SQL-Konsole nur Zeilenweise korrigieren könnt. Kopiert eure Anweisungen einfach in die Konsole und führt sie dann aus, so ist euer Code einfacher zu korrigieren. 

Jetzt kommt die Fleißaufgabe: Tragt alle Daten aus den Tabellenentwürfen in die Tabellen des mySQL-Servers ein. Wie immer findet ihr die Codezeilen auch auf der Codseite. Diese Übung sollte man sich aber nicht entgehen lassen.

Die Tabelle ist nun befüllt. Wie wir sehen, haben wir bei einigen Kunden eine Telefonnummer, bei anderen leider nicht.
Der Kunde Stefan Meier hat uns eine Email geschrieben in der Fragen zu unserem Produktkatalog hat und bittet um Rückruf. Seine Nummer hat er uns in der Mail mitgeschickt, 04567/334562. Da wir natürlich nicht immer die Mail aufrufen wollen, übertragen wir die Nummer in die Datenbank. Wir bringen sie sozusagen “auf den neuesten Stand” (wir machen ein Update).

UPDATE kunden
SET telefon =’04567/33462′
WHERE kd_nr =2;

Und schon können wir jederzeit auf die Nummer unseres Kunden zugreifen.
Mit der UPDATE Anweisung können wir alle Daten abändern.

Würden wir einen Kunden aus der Datenbank löschen wollen, würden wir folgendermaßen vorgehen:

DELETE
FROM kunden
WHERE kd_nr = 9;

Und schon ist Susi Bork nicht mehr Teil unserer Kundendatenbank.