Aktionsabfragen | Aktionsabfragen Durchführung von Änderungen in Tabellen TW BG 13 Unterrichtsstunde | 05.12.07 Lieber & Leppla Seite 1 | P. Rott und C. Kauder Aktionsabfragen | Inhaltsverzeichnis 1 Einleitung ............................................................... Seite 3 2 Aktionsabfragen: Überblick .................................... Seite 3 INSERT INTO UPDATE DELETE SELECT INTO 3 Aktionsabfragen: Syntax ........................................ Seite 4-5 Anfügeabfrage Aktualisierungs- Abfrage Löschabfrage Tabellenerstellungs- Abfrage 4 Übungsaufgaben ..................................................... Seite 6 Seite 2 | P. Rott und C. Kauder Aktionsabfragen | 1 Einleitung Das Bearbeiten von Daten ist eine Hauptfunktion von Datenbankanwendungen. Eine der schnellsten Möglichkeiten ist das Erstellen von Aktionsabfragen – diese werden wir in den folgenden Seiten etwas genauer betrachten. SQL stellt zur Bearbeitung von Daten eine Reihe von Aktionsabfragen zur Verfügung, die jede für eine unterschiedliche Art der Änderung steht. Im Folgenden wollen wir einen kurzen Überblick über die wichtigsten dieser Aktionsabfragen geben, ihre Funktionen erläutern und anschließend mit Übungsaufgaben das Erlernte festigen. 2 Aktionsabfragen: Überblick INSERT INTO Hinzufügen von kompletten Datensätzen in eine bestehende Tabelle UPDATE Aktualisieren von bereits bestehenden Datensätzen DELETE Löschen von Datensätzen in einer Tabelle SELECT INTO Erstellen einer Tabelle und gleichzeitiges Hinzufügen von Daten Seite 3 | P. Rott und C. Kauder Aktionsabfragen | 3 Aktionsabfragen: Syntax Anfügeabfrage Um in eine bestehende Tabelle eine neue Zeile einzufügen, wird folgende Syntax verwendet: INSERT INTO Tabellenname (Spaltenname1, Spaltenname2) VALUES (Wert1, Werte2); Hier wird genau eine neue Zeile erzeugt, hinter VALUES werden die einzufügenden Werte der Spaltenreihenfolge gleich nacheinander eingetragen. Für den Fall, dass die Tabelle einen automatisch erzeugten Wert enthält, muss weder die Spalte noch ein Wert angegeben werden. Aktualisierungs- Abfrage Um in einer bestehenden Tabelle eine Zelle zu aktualisieren / ändern, wird folgende Syntax verwendet: UPDATE Tabellenname SET Spaltenname = neuer_ZellenWert WHERE Bedingung; Zunächst wird die zu aktualisierende Tabelle angegeben. Nach SET folgt die Liste der zu aktualisierenden Zellen, für die rechts vom Gleichheitszeichen der neue Wert angegeben wird. Schließlich werden mit WHERE einzelne Zeilen ausgewählt. Seite 4 | P. Rott und C. Kauder Aktionsabfragen | Löschabfrage Um in einer bestehenden Tabelle eine Zeile zu löschen, wird folgende Syntax verwendet: DELETE FROM Tabellenname WHERE Bedingung; Dies löscht alle Zeilen der Tabelle, für welche die Bedingung zutrifft. Bei nutzen von DELETE ohne WHERE-Bedingung wird der gesamte Inhalt der Tabelle gelöscht, das Ergebnis ist eine leere Tabelle. Tabellenerstellungs- Abfrage Bei einer SELECT-Abfrage wird der betreffende Datensatz zunächst temporär gespeichert. Um diese nun fest in einer neuen Tabelle zu speichern, verwendet man SELECT ... INTO ... FROM: SELECT Spaltenname INTO neue_Tabelle FROM Tabellenname WHERE Bedingung; Seite 5 | P. Rott und C. Kauder Aktionsabfragen | 4 Übungsaufgaben Aufgabe 1 Fügen sie der vorliegende Tabelle Supermarkt drei weitere Artikel an, wählen sie hierzu sinnvolle Beispiele. Beobachten sie das Vorgehen von Access. Aufgabe 2 Durch ein aktuelles Aktionsangebot ist der Preis von “Jack Daniels” auf 14,99 € gesenkt worden. Zudem gab es bei der Zustellung von “Wasser” Probleme, sodass nur noch 100 Stück verfügbar sind. Bitte aktualisieren sie die Tabelle entsprechend. Aufgabe 3 Durch anhaltende Lieferschwierigkeiten ging leider der Frucht-Tiger Hersteller bankrott. Dadurch müssen wir leider diesen Artikel aus unserem Sortiment streichen. Bitte bringen sie die Tabelle auf den neusten Stand. Aufgabe 4 Unsere Gemüseabteilung wird nun getrennt organisiert. Entwerfen sie hierzu eine neue Tabelle und übernehmen sie die alten Datensätze und entfernen sie diese aus der alten Tabelle. Das vorliegende Material wird zur Gestaltung der ersten 40 Minuten verwendet. Im weiteren Verlauf planen wir die Umsetzung eines Projektes, in dem die Schüler Erlerntes festigen und selbstständig verwenden. Die Planung des Projektes benötigt noch speziellere Ausarbeitung, weswegen wir dieses zu einem späteren Zeitpunkt nachreichen. Seite 6 | P. Rott und C. Kauder Aktionsabfragen | 5 Unterrichtsaufgaben Aufgabe 1 Fügen sie der vorliegende Tabelle Supermarkt drei weitere Artikel an, wählen sie hierzu sinnvolle Beispiele. Beobachten sie das Vorgehen von Access. Aufgabe 2 Durch ein aktuelles Aktionsangebot ist der Preis von “Jack Daniels” auf 14,99 € gesenkt worden. Zudem gab es bei der Zustellung von “Wasser” Probleme, sodass nur noch 100 Stück verfügbar sind. Bitte aktualisieren sie die Tabelle entsprechend. Aufgabe 3 Durch anhaltende Lieferschwierigkeiten ging leider der Frucht-Tiger Hersteller bankrott. Dadurch müssen wir leider diesen Artikel aus unserem Sortiment streichen. Bitte bringen sie die Tabelle auf den neusten Stand. Projekt Unsere Gemüseabteilung wird nun getrennt organisiert. Entwerfen sie hierzu eine neue Tabelle, übernehmen sie die alten Datensätze und entfernen sie diese aus der alten Tabelle. Achten sie darauf, dass bei jedem Artikel ein Ablaufdatum vorhanden ist, damit Kunden keinen Grund zur Beschwerde haben. Erstellen sie eine neue Abfrage (Bestand) in der bestimmt wird welcher Gemüsebestand unterhalb von 10 liegt um nötige Nachbestellungen zu tätigen.Und füllen sie den Bestand wiederum auf 35. Gemüseabteilungsoptimierung: Wir wollen unseren Verkauf optimieren und alle Gemüsesorten aus dem Verkauf entfernen welche uns nur einen geringen Gewinn bringen. Lassen sie sich die alle Artikel ausgeben deren Gewinn unterhalb des Durchschnittes liegt und entfernen sie diese aus ihrem Warenbestand. Lösen sie dieses Projekt mithilfe des erlernten SQL-Wissens. Seite 7 | P. Rott und C. Kauder