col-def | ::= column-name data-type [DEFAULT value] [col-constraint...] |
col-constraint | ::= [constraint-name] {
[NOT] NULL | PRIMARY KEY | REFERENCES table-name [(col-name,...)] [delupd-action] | UNIQUE | DEFAULT value | CHECK (search-condition) } |
tbl-constraint | ::= PRIMARY KEY (col-name,...)
| FOREIGN KEY (col-name,...) REFERENCES table-name [(col-name,...)] [delupd-action] | CHECK (search-condition) | UNIQUE (col-name,...) |
delupd-action | ::= [ON UPDATE ref-action] [ON DELETE ref-action] |
ref-action | ::= CASCADE
| SET NULL | SET DEFAULT | NO ACTION -- also called RESTRICT |
constraint-name | ::= CONSTRAINT name |
alteration | ::= ADD [COLUMN] col-def
| DROP [COLUMN] col-name [CASCADE | RESTRICT] | ALTER [COLUMN] col-name {SET DEFAULT value | DROP DEFAULT} | ADD {CONSTRAINT name | constraint-def} | DROP CONSTRAINT name {CASCADE | RESTRICT} |