georg hat geschrieben:das ist ein Auszug aus dem ALTER TABLE Syntax-Diagramm von MySQL:
...
Was sagt die PostgreSQL-Dokumentation dazu?
im Help file sind die folgende Syntax Anweisungen aufgeführt
Code: Alles auswählen
ALTER TABLE [ ONLY ] tabelle [ * ]
ADD [ COLUMN ] spalte typ [ spalten_constraint [ ... ] ]
ALTER TABLE [ ONLY ] tabelle [ * ]
DROP [ COLUMN ] spalte [ RESTRICT | CASCADE ]
ALTER TABLE [ ONLY ] tabelle [ * ]
ALTER [ COLUMN ] spalte { SET DEFAULT wert | DROP DEFAULT }
ALTER TABLE [ ONLY ] tabelle [ * ]
ALTER [ COLUMN ] spalte { SET | DROP } NOT NULL
ALTER TABLE [ ONLY ] tabelle [ * ]
ALTER [ COLUMN ] spalte SET STATISTICS ganze_zahl
ALTER TABLE [ ONLY ] tabelle [ * ]
ALTER [ COLUMN ] spalte SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ALTER TABLE [ ONLY ] tabelle [ * ]
RENAME [ COLUMN ] spalte TO neue_spalte
ALTER TABLE tabelle
RENAME TO neue_tabelle
ALTER TABLE [ ONLY ] tabelle [ * ]
ADD tabellen_constraint
ALTER TABLE [ ONLY ] tabelle [ * ]
DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
ALTER TABLE tabelle
OWNER TO neuer_eigentümer
und als Beispiele
Code: Alles auswählen
Beispiel
Um einer Tabelle eine Spalte vom Typ varchar hinzuzufügen:
ALTER TABLE händler ADD COLUMN adresse varchar(30);
Um eine Spalte aus einer Tabelle zu löschen:
ALTER TABLE händler DROP COLUMN adresse RESTRICT;
Um eine bestehende Spalte umzubenennen:
ALTER TABLE händler RENAME COLUMN adresse TO stadt;
Um eine bestehende Tabelle umzubenennen:
ALTER TABLE händler RENAME TO lieferanten;
Einer Spalte einen NOT-NULL-Constraint hinzuzufügen:
ALTER TABLE händler ALTER COLUMN straße SET NOT NULL;
Um einen NOT-NULL-Constraint von einer Spalte zu entfernen:
ALTER TABLE händler ALTER COLUMN straße DROP NOT NULL;
Um einer Tabelle einen Check-Constraint hinzuzufügen:
ALTER TABLE händler ADD CONSTRAINT plzchk CHECK (char_length(plz) = 5);
Um einen Check-Constraint aus einer Tabelle und allen Kindtabellen zu entfernen:
ALTER TABLE händler DROP CONSTRAINT plzchk;
Um einer Tabelle einen Fremdschlüssel hinzuzufügen:
ALTER TABLE händler ADD CONSTRAINT adrfk FOREIGN KEY (adresse) REFERENCES adressen
(adresse) MATCH FULL;
Um einer Tabelle einen (mehrspaltigen) Unique Constraint hinzuzufügen:
ALTER TABLE händler ADD CONSTRAINT hdl_id_plz_schlüssel UNIQUE (hdl_id, plz);
Um einer Tabelle einen automatisch benannten Primärschlüssel-Constraint hinzuzufügen, wobei beachtet werden muss, dass eine Tabelle immer nur einen Primärschlüssel haben kann:
ALTER TABLE händler ADD PRIMARY KEY (hdl_id);
georg hat geschrieben:Andere Frage: warum ist Dir die Feldreihenfolge wichtig?
nur weil mit das "stört" das die "default" in pgAdmin.EXE dann "hinten" sind.
in PGu.EXE kann ich bei der Field Auswahl ja vorher "sortieren" und hab dann die "__" wieder "hinten"