MYSQL操作表的约束 |
完整性约束 NOT NULL 约束字段的值不能为空; DEFAULT 设置字段的默认值; UNIQUE KEY(UK) 约束字段的值是唯一; PRIMARY KEY(PK) 约束字段为表的主键,可以作为表记录的唯一标识; AUTOINCREMENT 约束字段为表的外键; DEFAULT CREATE TABLE tdept ( deptno INT NOT NULL, dname VARCHAR(20) DEFAULT 'cjgong', loc VARCHAR(40) ); UNIQUE,UK CREATE TABLE tdept ( deptno INT, dname VARCHAR(20) UNIQUE, loc VARCHAR(40) ) PRIMARY KEY CREATE TABLE tdept( deptno INT PRIMARY KEY, dname VARCHAR(20), loc VARCHAR(40) ); 多字段主键 CREATE TABLE tablename ( 属性名 数据类型, ...... [CONSTRAINT 约束名] PRIMARY KEY(属性名, 属性名......) ); CREATE TABLE tdept ( dname VARCHAR(20), loc VARCHAR(40), CONSTRAINT pkdnamedeptno PRIMARY KEY (deptno, dname) ); FOREIGN KEY, FK CREATE TABLE tablename ( 属性名 数据类型, 属性名 数据类型, ....... CONSTRAINT 外键约束名 FOREIGN KEY (属性名1) REFERENCES 表名 (属性名2) ); 说明:在上述语句中,“外键约束名”用来标识约束名,“属性名1”参数是子表中设置外键的字段名,“属性名2”参数是父表中设置主键约束的字段名。 在上述语句中创建表 tdept 时,通过SQL语句PRIMARY KEY 设置子墩depno为PK约束 CREATE TABLE temployee ( empno INT PRIMARY KEY, ename VARCHAR(20), job VARCHAR(40), MGR INT, Hiredate DATE, sal DOUBLE(10,2), deptno INT, CONSTRAINT fkdeptno FOREIGN KEY(deptno) REFERENCES t_dept(deptno) ); |