## Einfügen, Ändern, Löschen von Zeilen

Im Folgenden sollen SQL-Anweisungen zur Datenmanipulation (Einfügen, Ändern, Löschen von Zeilen) vorgestellt werden.

### Voraussetzungen

Sie benötigen die Demo-Daten für das SQL-Tutorial.

Starten Sie das Query Tool SQL Studio als Datenbankadministrator MONA mit dem Kennwort RED und melden Sie sich an die Demo-Datenbankinstanz DEMODB an.

### Einfügen von Zeilen

Zum Einfügen von Zeilen verwenden Sie die INSERT-Anweisung.

INSERT INTO hotel.city VALUES ('10018','New York','NY')

oder

INSERT INTO hotel.city (zip,name,state) VALUES ('10017','New York','NY')

In die Tabelle hotel werden Zeilen eingefügt (INSERT). Die Werte, die eingefügt werden sollen, werden nach dem Schlüsselwort VALUES in Klammern angegeben.

Wenn keine Spaltennamen angegeben sind, muss die Reihenfolge der Werte der Definitionsreihenfolge der Spalten entsprechen. Beide Folgen müssen in Länge und Datentypen übereinstimmen. Undefinierte Werte können als NULL geschrieben werden.

Die Angaben einer anderen Tabelle lassen sich auch durch eine SELECT-Anweisung in eine Tabelle aufnehmen.

...

1. Löschen Sie gegebenenfalls die Tabelle person.
DROP TABLE hotel.person

2. Legen Sie die Tabelle person an:
CREATE TABLE hotel.person
(pno FIXED(6,0) PRIMARY KEY,
name CHAR(20),
city CHAR(20))

3. Füllen Sie die Tabelle mit Werten aus der Tabelle city.
INSERT INTO hotel.person
SELECT zip, state, name FROM hotel.city WHERE zip < '2 0000'

Die Tabelle person wird mit Informationen aus der Tabelle city gefüllt. Das können Sie z.B. mit Hilfe folgender SELECT-Anweisung überprüfen:

SELECT pno, name state, city FROM hotel.person

Ergebnis

PNO | STATE | CITY
10017 | NY | New York
10018 | NY | New York
10019 | NY | New York
10580 | NY | New York
11788 | NY | Long Island
12203 | NY | Albany

Siehe auch:

SQL-Referenzhandbuch, INSERT-Anweisung (insert_statement)

### Ändern von Zeilen

Zum Ändern von Zeilen verwenden Sie die UPDATE-Anweisung. Beachten Sie, dass alle Zeilen der Tabelle geändert werden, wenn die WHERE-Klausel in der UPDATE-Anweisung fehlt.

UPDATE hotel.person
SET name = 'CITY'
WHERE pno = '10019'

In der Tabelle person wird der Spaltenwert für name geändert (UPDATE...SET...), und zwar nur für die in der WHERE-Klausel spezifizierte Zeile. Das können Sie z.B. mit Hilfe folgender SELECT-Anweisung überprüfen:

SELECT pno, name, city FROM hotel.person

Ergebnis

PNO | NAME | CITY
10017 | NY | New York
10018 | NY | New York
10019 | CITY | New York
10580 | NY | New York
11788 | NY | Long Island
12203 | NY | Albany

Siehe auch:

SQL-Referenzhandbuch, UPDATE-Anweisung (update_statement)

### Löschen von Zeilen

Zum Löschen von Zeilen verwenden Sie die DELETE-Anweisung.

DELETE FROM hotel.person
WHERE name = 'NY'

In der Tabelle person werden Zeilen gelöscht (DELETE FROM...), und zwar alle Zeilen mit dem Eintrag NY als Name (WHERE...). Das können Sie z.B. mit Hilfe folgender SELECT-Anweisung überprüfen:

SELECT pno, name, city FROM hotel.person

Ergebnis

PNO | NAME | CITY
10019 | CITY | New York

Siehe auch:

SQL-Referenzhandbuch, DELETE-Anweisung (delete_statement)

Datenmanipulation