MySQL—— 数据库的约束 (nulluniqueprimary keydefaultforeign keycheck)
Posted Perceus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL—— 数据库的约束 (nulluniqueprimary keydefaultforeign keycheck)相关的知识,希望对你有一定的参考价值。
@TOC
数据库的约束
什么是约束?
在创建表时设置约束,对于某一列值能填什么内容做出限制,每一列独立设置自己的约束.
not null
- 指定某列的存储
不能为null
值
此时向 id 列插入空的值会报错.
unique
- 保证某列的每行必须有唯一的值
如果向 name 这一列插入重复的值会报错.
default
- 规定给列赋值时的默认值
- 给带有默认值的列插入 null 最终结果是什么?
- 那么什么情况下才会触发默认值呢?
※primary key 主键
日常开发中最常使用的约束!也是最重要的约束
- 主键约束,是not null 与 unique 的结合,确保某列的每行的赋值不能为null 并且是唯一的
- 主键约束,相当于数据的唯一身份标识,类似身份证号码。
- 创建表的时候,很多时候都需要指定的主键。
auto_increment 自增
b) 主键的另一种用法: 自增主键(每次加1),允许为空.
foreign key 外键
外键约束
,保证一个表中的数据匹配另一个表中的值
参照完整性.- 一般习惯放到最后
外键约束会影响表的删除
外键,描述的是 两个表之间的关联关系,表1 里的数据 必须在 表2 中存在
外键约束举例:
- 1 . 建立班级表
create table class
class_id int primary key auto_increment ,
name varchar(50),
;
- 2 . 建立外键约束
create table student(
id int primary key auto_increment,
name varchar(50),
classId int,
foreign key(classId) references class(calss_id) //外键
);
- 3 . 查看表结构
- 4 . 插入数据
上面所讲的都是针对子表的操作,下面我们来针对一下父表的操作
外键的工作原理
拓展 购物软件中商品表和订单表结构
check(了解)
- 作为了解,类似java中的枚举,保证列中的值符合指定的条件
- MySQL使用时不报错,但忽略该约束:
create table test_user (
id int,
name varchar(20),
sex varchar(1),
check (sex =男 or sex=女)
);
以上是关于MySQL—— 数据库的约束 (nulluniqueprimary keydefaultforeign keycheck)的主要内容,如果未能解决你的问题,请参考以下文章