Database Reference
In-Depth Information
INSERT INTO countries (country _ code, country _ name)
VALUES ( 'us' , 'United States' ), ( 'mx' , 'Mexico' ), ( 'au' , 'Australia' ),
( 'gb' , 'United Kingdom' ), ( 'de' , 'Germany' ), ( 'll' , 'Loompaland' );
Probieren wir unsere „Eindeutig“-Beschränkung aus. Wenn Sie versuchen,
einen country _ name n doppelt einzugeben, schlägt die unique-Beschränkung
fehl und das erneute Einfügen wird unterbunden. Mit Constraints stellen
relationale Datenbanken wie PostgreSQL koschere Daten sicher.
INSERT INTO countries
VALUES ( 'uk' , 'United Kingdom' );
duplicate key value violates unique constraint "countries _ country _ name _ key"
ERROR:
Key (country _ name)=(United Kingdom) already exists.
DETAIL:
Wir können überprüfen, ob die Zeilen korrekt eingefügt wurden, indem wir
den Tabellenbefehl SELECT...FROM nutzen.
SELECT *
FROM countries;
country _ code | country _ name
-------------+---------------
us
| United States
mx
| Mexico
au
| Australia
gb
| United Kingdom
de
| Germany
ll
| Loompaland
(6 rows)
Jeder halbwegs respektable Atlas wird bestätigen, dass es Loompaland gar
nicht gibt - wir wollen es daher aus der Tabelle entfernen. Wir legen die zu lö-
schende Zeile in der WHERE -Klausel fest, d. h., die Zeile mit dem country _ code
ll wird entfernt.
DELETE FROM countries
WHERE country _ code = 'll' ;
Nachdem nur noch reale Länder in unserer countries -Tabelle stehen, wol-
len wir eine cities -Tabelle mit Städten anlegen. Um sicherzustellen, dass
jeder eingefügte country _ code auch in unserer countries -Tabelle existiert,
nutzen wir das Schlüsselwort REFERENCES .Dassdie country _ code -Spalte den
Schlüssel einer anderen Tabelle referenziert, bezeichnen wir als Fremdschlüs-
sel (foreign key) -Constraint.
Search WWH ::




Custom Search