当前位置:Gxlcms > 数据库问题 > mysql的建表约束

mysql的建表约束

时间:2021-07-01 10:21:17 帮助过:21人阅读

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

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);

技术图片

默认约束

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

技术图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mysql的建表约束

标签:char   联合主键   结构   不可   是的   table   rem   16px   修改表   

人气教程排行