您当前的位置: 首页 >  sql

潇洒白羊

暂无认证

  • 1浏览

    0关注

    68博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Mysql数据库轻松学04——约束条件

潇洒白羊 发布时间:2021-12-19 13:59:39 ,浏览量:1

约束条件

• 约束条件是在表上强制执行的数据检验规则 • 用来保证创建的表的数据完整性和准确性 • 主要在两方面对数据进行约束:空值和重复值

MySQL数据库常用约束条件

在这里插入图片描述

1 主体完整性 1.1 主键约束 特点
  • 能够唯一地标识表中的一条记录
  • 非空不重复,要求主键列的数据必须是唯一的,并且不允许为空
  • 每个表中只能有一个主键
  • 可以设置单字段主键,也可以设置多字段联合主键(一张表只能有一个主键,但是构成主键的字段可以有多个,这样就是一个联合主键。联合主键中多个字段的数据完全相同时,才违反主键约束)。
添加方法
create table 表名(字段1 数据类型 primary key,字段2 数据类型[,…]);
create table 表名(字段1 数据类型,字段2 数据类型[,…], primary key(主键字段));
create table 表名(字段1 数据类型,字段2 数据类型[,…], primary key(主键字段1, 主键字段2[,…])); 
删除方法
alter table 表名 drop primary key;
1.2 唯一约束 特点
  • 要求该列的值必须是唯一的
  • 允许为空,但只能出现一个空值
添加方法
create table 表名(字段1 数据类型,字段2 数据类型 unique[,…]);
删除方法
alter table 表名 drop index 唯一约束名;

如果单个字段没有指定唯一约束名,则默认的唯一约束名为字段名。如果是多个字段组合为唯一约束时候,默认的唯一约束名为第一个字段的名称。如果指定了约束名,则删除的时候写约束名。

1.3 自增字段 特点
  • 指定字段的数据自动增长
  • 配合主键一起使用,并且只适用于整数类型
  • 默认从1开始,每增加一条记录,该字段的值会增加1
添加方法
create table 表名(字段1 数据类型 primary key auto_increment,字段2 数据类型[,…]); 
设置自增字段的初始值
Alter table 表名 auto_increment=n;
删除方法
alter table 表名 modify 字段名 数据类型[ 约束条件];
2 域完整性 2.1 非空约束 特点

字段的值不能为空

添加方法
create table 表名(字段1 数据类型,字段2 数据类型 not null[,…]);
删除方法
alter table 表名 modify 字段名 数据类型[ 约束条件];
2.2 默认约束 特点

指定某个字段的默认值,如果新插入一条记录时没有为默认约束字段赋值,那么系统就会自动为这个字段赋值为默认约束设定的值。

添加方法
create table 表名(字段1 数据类型1,字段2 数据类型2 default 默认值[ ,…]);
删除方法
alter table 表名 modify 字段名 数据类型[ 约束条件] ;
3 参照完整性 3.1 外键约束 特点
  • 某一表中某字段的值依赖于另一张表中某字段的值
  • 主键所在的表为主表,外键所在的表为从表
  • 每一个外键值必须与另一个表中的主键值相对应
添加方法

先创建主键所在的主表,再创建外键所在的从表

creat table 表名(字段名1 数据类型1,字段名2 数据类型2[,……,][constraint 外键约束名] foreign key(字段名) references 主表(主键字段));
删除方法
alter table 表名 drop foreign key 外键约束名;

先删除从表,再删除主表。先删除外键约束,再删除表。

4 用户自定义完整性 4.1 检查约束 特点

指定需要检查的限定条件

添加方法
creat table 表名 ( 字段名1 字段类型1, 字段名2 字段类型2 check(<限定条件>)[,……]);
删除方法
alter table 表名 drop constraint <检查约束名>;
关注
打赏
1655040589
查看更多评论
立即登录/注册

微信扫码登录

0.0389s