Tabellen und Datensätze in MySQL verändern (UPDATE, ALTER usw.)
Falls über diesem Text keine PDF-Präsentation zu sehen ist, wurde diese von Ihrem Browser direkt runtergeladen (wenn Sie z.B. mit Safari@Mac surfen). Sie könnnen zum Download auch hier klicken: Direktdownload PDF-Präsentation
Aktualisierung eines Datensatzes durch UPDATE:
MySQL-CodeUPDATE 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.
ADD COLUMN – fügt ein Feld hinzu, z.B.
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.
CHANGE – Änderung eines Feldes, wobei die Attribute des Feldes neu angegeben werden müssen, z.B.
oder um nur die Attribute zu ändern
Löschen von Daten mit DELETE
DELETE löscht einen/mehrere Datensätze aus einer Tabelle. Mit
würden sämtliche Datensätze einer Tabelle gelöscht werden. Durch die Einschränkung WHERE …
… 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
Ü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, NULL, 'Maier', NULL, NULL); INSERT INTO kunden VALUES(5, NULL, 'Bulgur', NULL, 'Rheinfelden'); INSERT INTO kunden VALUES(6, 'Maria', 'Manta', NULL, NULL); INSERT INTO kunden VALUES(7, NULL, 'Fesenkampp', 3, 'Duisburg'); INSERT INTO kunden VALUES(8, 'Herbert', NULL, NULL, NULL); INSERT INTO kunden VALUES(9, 'Albert', 'Schulter', 1, 'Duisburg'); INSERT INTO kunden VALUES(10, 'Brunhild', 'Sulcher', 1, 'Süderstade'); INSERT INTO kunden VALUES(11, 'Hermann', 'Soder', 2, 'Bayersbronn'); INSERT INTO kunden VALUES(12, 'Aldi', 'Bursel', 1, 'Emmendingen'); INSERT INTO kunden VALUES(13, 'Heinrich', 'Bismarck', 1, 'Dortmund'); INSERT INTO kunden VALUES(14, 'Jochen', 'Güslick', 2, 'Solingen'); INSERT INTO kunden VALUES(15, 'Jochen', 'Schmied', 2, 'Solingen'); INSERT INTO kunden VALUES(21, '', 'Doppelbrecher', 0, ''); INSERT INTO kunden VALUES(23, 'Albert', 'Schulter', 1, '');
