MYSQL操作表的约束

完整性约束

NOT NULL 约束字段的值不能为空;
DEFAULT 设置字段的默认值;
UNIQUE KEY(UK) 约束字段的值是唯一;
PRIMARY KEY(PK) 约束字段为表的主键,可以作为表记录的唯一标识;
AUTOINCREMENT 约束字段为表的外键;


DEFAULT

CREATE TABLE t
dept (
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 t
dept(
deptno INT PRIMARY KEY,
dname VARCHAR(20),
loc VARCHAR(40)
);


多字段主键

CREATE TABLE tablename (
属性名 数据类型,

......
[CONSTRAINT 约束名] PRIMARY KEY(属性名, 属性名......)
);


CREATE TABLE t
dept (
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”参数是父表中设置主键约束的字段名。

在上述语句中创建表 t
dept 时,通过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 fk
deptno FOREIGN KEY(deptno) REFERENCES t_dept(deptno)
);

返回读书笔记列表