数据库的6种约束 主键 唯一 非空 默认 检查 外键

数据库约束

primary key:主键

主键的作用

用来唯一标识一条记录,每个表都应该有一个主键,并且每个表只能有一个主键。

创建主键

create table st(
	id int primary key, -- id是主键
	name varchar(20),
	age int
);
create table st2(
	id int , 
	name varchar(20),
	age int,
	primary key(id) -- id是主键
);

用修改表的方式添加主键

create table st3(
   id int,
   name varchar(20),
   age int
);
alter table st3 add  primary key(id);

删除主键

alter table 表名 drop primary key;

unique:唯一

在这张表中这个字段的值不能重复

实现唯一约束

create table st (
	id int,
	name varchar(20) unique
);

用修改表的方式添加唯一约束

create table st2(
   id int primary key,
   name varchar(20),
   email varchar(200) 
)
alter table st2 add unique(email);

not null:非空

这个字段必须设置值,不能是null

非空约束的基本语法格式

create table st (
	id int,
	name varchar(20) not null,
	gender varchar(2)
);

用修改表的方式添加非空约束

create table st2(
   id int primary key,
   name varchar(20)
)
alter table st2 modify name varchar(20) not null;

foreign key:外键

外键约束

一张表中的某个字段引用另一个表的主键. 主表:约束别人. 副表/从表:使用别人的数据,被别人约束

语法: [constraint] [外键约束名称] foreign key(外键字段名) references 主表名(主键字段名) 关键字解释: constraint 约束关键字 foreign key(外键字段名) 某个字段作为外键 references 主表名(主键字段名) 表示参照主表中的某个字段

创建外键

create table department (
	id int primary key ,
	dep_name varchar(20),
	dep_location varchar(20)
);
create table employee (
	id int primary key,
	name vachar(20),
	age int,
	dep_id int, -- 添加一个外键
	foreign key(dep_id) references department(id)
);

检查约束 mysql无效果

经验分享 程序员 微信小程序 职场和发展