CREATE语句的语法
CREATE TABLE SQL模式名.基本表名
( 列名 类型,
...
完整性约束,
)
- 为简单起见,模式名省略不写。
- 完整性规则主要有三种:主键子句、检查子句和外键子句。
示例
- 供应商关系 S(SNO, SNAME, SADDR)
CREATE TABLE S
(SNO CHAR(4) NOT NULL,
SNAME CHAR(20) NOT NULL,
SADDR CHAR(20),
PRIMARY KEY(SNO));
- 零件关系 P(PNO, PNAME, COLOR, WEIGHT)
CREATE TABLE P
(PNO CHAR(4) NOT NULL,
PNAME CHAR(20) NOT NULL,
COLOR CHAR(8),
WEIGHT SMALLINT,
PRIMARY KEY (PNO));
- 工程项目关系 J(JNO, JNAME, JCITY, BALANCE)
CREATE TABLE J
(JNO CHAR(4) NOT NULL,
JNAME CHAR(20),
JCIRY CHAR(20),
BALANCE NUMERIC(7,2),
PRIMARY KEY(JNO));
- 供应商情况关系 SPJ(SNO, PNO, JNO, PRICE, QTY)
CREATE TABLE SPJ
(SNO CHAR(4) NOT NULL,
PNO CHAR(4) NOT NULL,
JNO CHAR(4) NOT NULL,
PRICE NUMERIC(7,2),
QTY SMALLINT,
PRIMARY KEY(SNO, PNO, JNO),
FOREIGN KEY(SNO) REFERENCES S(SNO),
FOREIGN KEY(PNO) REFERENCES P(PNO),
FOREIGN KEY(JNO) REFERENCES J(JNO),
CHECK(QTY BETWEEN 0 AND 10000));
约束说明
- NOT NULL :非空值
- PRIMARY :主键
- FOREIGN KEY(SNO) REFERENCES S(SNO) :将SNO指定为S表SNO的外键
- BETWEEN 0 AND 10000 :值的范围[0,10000]
- UNIQUE :唯一值