- 主键约束
唯一确定一张表的记录,给某个字段添加约束就可以确认它不为空且唯一
在定义的参数后添加 primary key
create table user( id int(20) primary key, name varchar );
--联合主键 任意一个不为空即可--
create table user(
id int(20) ,
name varchar,
primary key(id,name)
) ;
可以通过
alter table user add primary key(id);
添加主键约束
可以通过
alter table user drop primary key(id);
删除主键约束
可以通过
alter table user modify id int primary key;
添加主键约束
- 自增约束
在参数后面加入 auto_increment
create table usr( id int(20) primary key auto_increment, name varchar );
- 外键约束
牵扯到两个表一个子表一个父表,用来做关联
foreign key()references 表名 ()
create table father( id int primary key, name varchar(20) ); create table children( id int primary key, name varchar(20) foreign key (id) references father(id) );
主表没有数据值时,副表不可以添加
例如
主表
insert into father Value("1","father1")
副表
insert into children Value("2","children1")
插入失败 因为id为2在主表找不到,正确的话只能设置为1
主表中的数据被引用时,主表数据是不可以删除的
例如
上面的例子要删除主表的数据id等于1是可以的 但是如果副表插入一条数据
insert into children value(“1”,“children”)
这样主表就删除不了数据了
- 唯一约束
修饰该字段不可以重复
alter table user add unique(id); create table user( name varchar(20) unique );
唯一约束其中一个不重复即可 create table user( name varchar(20),
id int, unique(name,id) );
- 非空约束
值不能传空
not null
和上述的约束用法相似
- 默认约束
插入没有传值就会传默认值
default + 默认值
和上述的约束用法相似