数据库的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无效果
下一篇:
MySql多层级数据表获取所有子集