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 。。。