Bei einer Bestellung in einem Webshop müssen nicht nur Datensätze abgefragt werden ("Existiert der Artikel XYZ noch in ausreichenden Stückzahl?"), sondern auch eingefügt werden ("Kunde bestellt den Artikel XYZ in einer bestimmten Stückzahl."). Auch Änderungen ("Kunde hat eine neue Anschrift") oder Löschungen ("Kunde schließt sein Kundenkonto.") sind möglich. Die Datenbanksprache SQL liefert hierfür passende Manipulationsbefehle.
Der INSERT-Befehl fügt neue Datensätze in eine Datenbank ein.
Bei Verwendung der folgenden Syntax muss für jedes Attribut des Datensatzes ein wert angegeben werden, die Reihenfolge entspricht dabei der Struktur der Tabelle:
INSERT INTO tabelle VALUES('wert1','wert2',...)
Bei Verwendung dieser Syntax können die einzufügenden Attribute festgelegt werden. Das ist z.B. sinnvoll, wenn man Felder wie IDs hat, deren Wert automatisch vom DBMS gesetzt werden, wenn ein neuer Datensatz angefügt wird. Außerdem kann so die Reihenfolge der einzufügenden Werte selbst bestimmt werden.
INSERT INTO tabelle (column1, column2, column3, ...) VALUES (value1, value2, value3, ...)
Der UPDATE-Befehl ändert bestehende Datensätze:
UPDATE tabelle SET spalte1='wert1', spalte2='wert2',... [WHERE bedingung]
Der DELETE-Befehl löscht bestehende Datensätze:
DELETE FROM tabelle [WHERE bedingung]
Vorsicht: Mit der "bedingungslosen" Anweisung DELETE FROM tabelle
wird die Tabelle komplett geleert!
Löse die folgenden Aufgaben innerhalb der Tabellen der Datenbank webshop.sql.zip, indem du ausschließlich das SQL-Abfragefenster verwendest. Speichere deine Lösungen in einer Textdatei (oder einer Joplin Notiz?)
(i) Das Buch "Die Informatikfibel" wurde in 90-facher Stückzahl angeliefert. Es wird zum Preis von 24,99 Euro verkauft. Füge den Artikel in die Datenbank ein.
(ii) Setze die Bestände der Artikel mit den Nummern 100010 und 100011 auf 0.
(iii) Lösche alle Artikel, die ausverkauft sind.
(iv) Verdopple Bestand des Artikels mit der Nummer 100009.
(v) Erhöhe den Preis des Artikels mit der Nummer 100008 um 2 Euro und verringeren Sie seinen Bestand um 10 Stück.
(vi) Erhöhe die Preise aller Artikel um 1 Euro
(vii) Erhöhe die Preise aller Artikel um 10%.