Lise-Meitner-Schule Oberstufenzentrum Chemie, Physik und Biologie Berlin, Bezirk Neukölln Datenbanken,SQL DELETE, UPDATE, INSERT Lise-Meitner-Schule Zeilen löschen mit DELETE Datenbanken,SQL Oberstufenzentrum DELETE, UPDATE, INSERT Chemie, Physik und Syntax Biologie DELETE Berlin,FROM Bezirk<Tabelle> Neukölln Dies löscht den Inhalt der gesamten angegebenen Tabelle. Die Tabelle selbst wird nicht gelöscht, das Ergebnis ist eine leere Tabelle. DELETE FROM <Tabelle> WHERE <Bedingung> Dies löscht alle Zeilen der Tabelle, für welche die Bedingung zutrifft. Beispiele DELETE FROM ARTIKEL Dies löscht alle Zeilen der Tabelle Artikel. DELETE FROM ARTIKEL WHERE A_NR = 11 Dies löscht nur die Zeile mit der Artikel-Nummer 11. Zeilen bearbeiten mit UPDATE Syntax Update einer Tabelle ohne Verknüpfung mit anderen Tabellen UPDATE <Tabelle> SET <Name einer Spalte> = <Ausdruck aus Spalten, Konstanten, Funktionen> [, weitere Spaltennamen = Ausdruck] WHERE <Bedingung> Beispiele UPDATE ARTIKEL SET Gesamt = 0 Einfachste Version einer Update-Anweisung: Eine Spalte wird mit einem neuen Wert, hier mit der Konstanten 0 belegt, die Aktualisierung wird für alle Zeilen ausgeführt. UPDATE ARTIKEL SET Gesamt = A_PREIS Jeder Zelle 'Gesamt' ist die Zelle 'A_PREIS' derselben Zeile zugeordnet. Also wird der Wert der letzteren in die Zelle 'Gesamt' kopiert. UPDATE ARTIKEL SET Gesamt = A_PREIS * 1.16 Dasselbe wie zuvor, nun ergänzt um die Multiplikation mit einer Konstanten. Eine solche Spalte mag bsp. den Bruttopreis eines Artikels enthalten. UPDATE ARTIKEL SET Gesamt = A_PREIS * 1.16 WHERE A_PREIS > 100 Nun wird die Menge der zu aktualisierenden Zeilen eingeschränkt, auf daß nicht alle, sondern nur jene Zeilen aktualisiert werden, deren Preis vor der Aktualisierung größer 100 ist. Lise-Meitner-Schule Oberstufenzentrum Chemie, Physik und Biologie Berlin, Bezirk Neukölln Lise-Meitner-Schule Zeilen einfügen mit INSERT Syntax Datenbanken,SQL DELETE, UPDATE, INSERT Datenbanken,SQL Oberstufenzentrum DELETE, UPDATE, INSERT Chemie, Physik und Biologie INSERT INTO Neukölln <Tabellenname>(<Spaltenname> [, weitere Spaltennamen]) Berlin, Bezirk VALUES (<Wert für die erste Spalte> [, weitere Werte]) Einfache Form: Hinter VALUES werden alle einzufügenden Werte der Reihe nach aufgelistet. Es wird genau eine neue Zeile erzeugt. INSERT INTO <Tabellenname>(<Spaltenname> [, weitere Spaltennamen]) SELECT <Spalte-1> [, weitere Ausgaben] [FROM ...] [WHERE ...] [GROUP BY ...] [HAVING ...] Einfügen mehrerer Zeilen. Als Select-Anweisung ist jede beliebige Anweisung möglich, sofern die Zahl der Ausgabespalten mit der Zahl der Zielspalten sowie die Datentypen übereinstimmen. Das Select-Recordset kann auch keine Zeilen zurückliefern, dies ist kein Fehler, es werden keine Zeilen hinzugefügt. Beispiele INSERT INTO ARTIKEL(A_NR, A_NAME, A_PREIS) VALUES(12, 'Oberhemd', 39.80) Dies fügt in die Tabelle Artikel die erste Zeile aus der Artikel.txt ein. Dies gelingt allerdings nur deshalb, da die Spalte A_NR keine automatisch erzeugte fortlaufende Nummer enthält und deshalb der Wert für den Primärschlüssel per Hand festgelegt werden muss. Für den Fall, dass die Tabelle einen automatisch erzeugten Wert enthält, muss weder die Spalte noch ein Wert angegeben werden. Beispiel: CREATE TABLE [Artikel-mit-Id] (A_NR int Identity(1, 1) Primary Key, A_Name varchar(50),A_Preis money) Dies erzeugt eine Tabelle, bei welcher der ersten Spalte ein automatisch erstellter Wert zugewiesen wird INSERT INTO [Artikel-mit-Id](A_NAME, A_PREIS) VALUES ('Oberhemd', 39.80) In die neue Tabelle wird eine Zeile eingetragen. Ist die Tabelle soeben neu erstellt worden, so erhält die neue Zeile den Wert 1 als Primärschlüssel.