Folien



(letzte Synchronisation der PDF-Präsentation: 02.03.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Aktualisierung eines Datensatzes durch UPDATE:

MySQL-Code
  UPDATE tabellenname SET variablenname='neuer Inhalt' WHERE id=3 UPDATE tabellenname SET telefonnummer='neuer Inhalt', postleitzahl='neuer Inhalt' WHERE kunde_id=7  

Statt id=3 kann auch ein anderes eindeutig identifizierendes Feld benutzt werden.

Ändern der Tabellenstruktur mit ALTER TABLE:

Mit ALTER TABLE tabellenname [Spezifikation] wird eine Tabelle verändert. Mögliche Spezifikationen:

RENAME – benennt die Tabelle um, z.B.

MySQL-Code
  ALTER TABLE kunden RENAME bestandskunden  

ADD COLUMN – fügt ein Feld hinzu, z.B.

MySQL-Code
  ALTER TABLE kunden ADD COLUMN registrierungsdatum TIMESTAMP  

Die Position kann mit FIRST und AFTER angegeben werden (FIRST = neues Feld wird an den Anfang gesetzt, AFTER feldname = neues Feld wird nach feldname eingefügt).

DROP COLUMN – löscht ein Feld, z.B.

MySQL-Code
  ALTER TABLE kunden DROP COLUMN registrierungsdatum

CHANGE – Änderung eines Feldes, wobei die Attribute des Feldes neu angegeben werden müssen, z.B.

MySQL-Code
  ALTER TABLE kunden CHANGE altername neuername VARCHAR(255) NOT NULL  

oder um nur die Attribute zu ändern

MySQL-Code
  ALTER TABLE search CHANGE altername altername VARCHAR(200) NOT NULL  

Löschen von Daten mit DELETE

DELETE löscht einen/mehrere Datensätze aus einer Tabelle. Mit

MySQL-Code
  DELETE FROM tabellenname  

würden sämtliche Datensätze einer Tabelle gelöscht werden. Durch die Einschränkung WHERE

MySQL-Code
  DELETE FROM tabellenname WHERE id=8  

… würden im Beispiel alle Datensätze gelöscht werden, in denen das Feld id den Wert 8 hat.

Löschen einer ganzen Tabelle mit DROP TABLE

MySQL-Code
  DROP TABLE tabellenname  

Übungen

Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).

Die aktuelle Übung können Sie hier als txt-File herunterladen.


***** Übungen: MySQL - UPDATE-ALTER-DELETE *****


Benutzen Sie für diese Übungen jeweils die Tabelle unter der Aufgabenstellung!

MySQL_4-1) Übungen zu UPDATE

Ändern Sie die Inhalte der Tabelle entsprechend der folgenden Ereignisse:

1. Heinrich Schmitt ist nach Dortmund umgezogen.
2. Sabine Müller hat geheiratet und heißt jetzt Sabine Müller-Schmitt.
3. Markus Mustermann hat seinen Namen geändert und heißt jetzt Michael Mussorgski.
4. Herr Doppelbrecher heißt mit Vornamen "Siegfried".
5. Frau Bulgur heißt mit Vornamen "Marianne", ihr Ländercode ist 1.
6. Frau Maier heißt mit Vornamen "Berta", sie wohnt in Stuttgart (Ländercode 1).




MySQL_4-2) Übungen zu ALTER TABLE und DELETE


Ändern Sie die Tabelle wie folgt:
1. Benennen Sie die Tabelle um in "bestandskunden".
2. Legen Sie ein Feld namens "postleitzahl' an, verwenden Sie einen sinnvollen Datentyp.
3. Sparen Sie Speicherplatz, indem Sie den Datentyp der Felder "vorname" und "nachname" auf varchar(150) ändern.
4. Da wir die Tabelle nachher noch brauchen, löschen Sie das Feld "postleitzahl" und benennen die Tabelle wieder um in "kunden".
5. Löschen Sie den Datensatz mit der kunde_id 23 (Albert Schulter).




Benutzen Sie für diese Übung die Tabelle unter der Aufgabenstellung

MySQL-4C) Kombinierte Übung zu UPDATE, ALTER, DELETE, DROP TABLE

1. Exportieren Sie die Tabelle mit phpMyAdmin.
2. Spielen Sie die exportierte Tabelle unter dem Namen "kunden_kopie" in die Datenbank ein.
3. Löschen Sie alle Datensätze, in denen der Wohnort Solingen ist.
4. Sie haben sicher bemerkt, dass wir das Feld land_id nicht besonders sinnvoll gehandhabt haben. Löschen Sie es.
5. Benennen Sie die Tabelle in "kunden_copy" um.
6. Benennen Sie das Feld "wohnort" in "ort" um.
7. Löschen Sie die Datensätze "Brunhild Sulcher" und "Maria Manta".
8. Aldi Bursel heißt in Wirklichkeit Alfred Buntschuh.
9. Herr Bismarck wohnt in Kirchzarten.
10. Exportieren Sie die Tabelle.
11. Löschen Sie die Tabelle.




Tabelle für die Übungen (mit Copy-Paste in phpmyadmin anlegen):

MySQL-Code
  -- -- Tabellenstruktur für Tabelle kunden --   CREATE TABLE kunden ( kunde_id int(11) NOT NULL auto_increment, nachname varchar(255) default NULL, vorname varchar(255) default NULL, land_id int(11) default NULL, wohnort varchar(255) default NULL, PRIMARY KEY (kunde_id) );   -- -- Daten für Tabelle kunden --   INSERT INTO kunden VALUES(1, 'Schmitt', 'Heinrich', 2, 'Bielefeld'); INSERT INTO kunden VALUES(2, 'Müller', 'Sabine', 2, 'Essen'); INSERT INTO kunden VALUES(3, 'Mustermann', 'Markus', 1, 'Wien'); INSERT INTO kunden VALUES(4, 'Maier', NULL, NULL, NULL); INSERT INTO kunden VALUES(5, 'Bulgur', NULL, NULL, 'Rheinfelden'); INSERT INTO kunden VALUES(6, 'Manta', 'Maria', NULL, NULL); INSERT INTO kunden VALUES(7, 'Fesenkampp', NULL, 3, 'Duisburg'); INSERT INTO kunden VALUES(8, NULL, 'Herbert', NULL, NULL); INSERT INTO kunden VALUES(9, 'Schulter', 'Albert', 1, 'Duisburg'); INSERT INTO kunden VALUES(10, 'Sulcher', 'Brunhild', 1, 'Süderstade'); INSERT INTO kunden VALUES(11, 'Soder', 'Hermann', 2, 'Bayersbronn'); INSERT INTO kunden VALUES(12, 'Bursel', 'Aldi', 1, 'Emmendingen'); INSERT INTO kunden VALUES(13, 'Bismarck', 'Heinrich', 1, 'Dortmund'); INSERT INTO kunden VALUES(14, 'Güslick', 'Jochen', 2, 'Solingen'); INSERT INTO kunden VALUES(15, 'Schmied', 'Jochen', 2, 'Solingen'); INSERT INTO kunden VALUES(21, 'Doppelbrecher', '', 0, ''); INSERT INTO kunden VALUES(23, 'Schulter', 'Albert', 1, '');