mysql的建表约束

主键约束(primary key)

主键约束能够唯一确定一张表中的记录,也就是可以通过某个字段添加约束,就可以是的该字段不重复,且不为空

create table user (id int primary key,name char,phone int(11));

 

 联合主键(只要联合主键的值加起来不完全相同就可以添加成功)

create table user3 (id int,name char(3),phone char(11),primary key (id,name));

联合主键的表中,只要插入的数据的主键的值加起来不完全相同,就可以添加成功

 

 

 

 

自增约束(primarykey和auto_increment联合使用)

 

 

 

 

 当创建表时没有添加主键约束怎么办?

可以使用alter语句来修改表的结构

语法:alter table 表名 add primary key (字段名);

 

 

 

 

 

 

 

同样可以应用alter语句来删除主键

语法:alter table 表名 drop primary key ;

 

 

通过修改字段的方式添加主键约束(modify) 

语法:alter table 表名 modify 字段名 字段类型 primary;

 

外键约束(foreign key.......references)

涉及到两个表:父表(主表)、子表(副表)

特性:主表中没有的数据,在副表中不可以直接添加-可先在主表中添加相应记录,再往副表中添加记录

   主表中的记录被副表引用,是不可以直接删除主表中的记录的-要先删除副表中的相应记录,再删除主表中的这条记录

 

 

 

 

 

 

唯一约束(unique)

约束创建的字段的值不可以重复

 

语法1:create table 表名 (字段1  字段数据类型,字段2  字段数据类型  unique);

 

语法2:create table 表名(字段1,字段数据类型,字段2 字段2数据类型,unique(字段1));

 

 

 

 同时给多个字段添加唯一约束

插入的数据这些键组合在一起不重复就可以

语法:create table 表名(字段1,字段数据类型,字段2 字段2数据类型,unique(字段1,字段2));

 

   删除唯一约束

语法:alter table 表名 drop index 字段名;

 

 

通过modify添加唯一约束

语法:alter table 表名 modify 字段名  字段数据类型  nique;

  

 

 

 

 

 

非空约束(not null)

修饰的字段不能为空(NULL)

语法1:create table 表名 (字段1  字段数据类型,字段2  字段数据类型  not null);

默认约束

就是当我们插入记录时,如果没有传值,就会使用默认值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-09-09 18:37  那个谁呢  阅读(434)  评论(0编辑  收藏  举报