Aufgabe2-4.5.1-ilg-SQL-CreateInser-access

Werbung
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.
Herunterladen