① 主键(PRIMARY KEY)约束:
不能重复,不能为空,且一个表中只能有一个主键。(注:用多个列创建索引时,只能用表级主键约束来创建);
② 外键(foreign key)约束:
数据可以重复,但不能为空;
如;创建临时表temp时,关联了users中的主键userID
Create table temp(
Id int,
Name char(20),
Foreign key (id) references users(userID) on delete cascade on update cascade
)
③ 唯一(unque)约束:
表中列的值不可重复,但可为空(最多只允许有一个空值)
如:
Create table users(
Id int primary key auto_increment,
userID int unique
password varchar(20)
)
(auto_increment 表示自增)
④ 检查(check)约束:
oracle、SQL server数据库中可以使用check约束,但Mysql使用check约束不生效;
⑤ 默认(default )约束:
当向表中插入数据时,如果用户没有给明给出某一列的值,Mysql自动为该列添加的值;
⑥ 空值约束(null):
字段约束允许为空则为NULL,若不允许为空则为not null,若约束未添加则默认约束为允许为null.