mysql的建表约束

Posted jingdenghuakai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

技术图片

默认约束

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

技术图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于mysql的建表约束的主要内容,如果未能解决你的问题,请参考以下文章

初接触mysql 建表的时候不懂一些约束(比如性别只能选1和0)和默认值设置 default 。。。

MySQL 基础 -- 约束(非空约束唯一约束主键约束默认约束检查约束外键约束)

MySQL数据篇之多表操作-----保姆级教程

mysql建表约束

mysql建表约束

mysql建表: 主键,外键约束