在学习了创建表之后,会存在一个疑惑,就是表中的字段是如何被限制的呢?我们需要做些什么来对表中字段进行限制呢?
前言
此篇为自己在学习mysql的时候的笔记
假如现在有一个需求:存储所有学生的信息,那么每个学生的姓名是不能为空的,id也必须唯一,带着这个小问题看下去吧!
如有错误,还请xdm指正!!!
一、概述
1.概念
首先什么是约束?
约束就是作用在表中字段上的一个规则,对表中的数据进行约束,从而保证数据的一致性、有效性、安全性,可以在创建表或者修改表时,添加约束。
2.分类
有哪些约束呢?
- 非空约束 NOT NULL
值不能为 null - 唯一约束 UNIQUE
值不能重复 - 主键约束 PRIMARY KEY
一列数据的唯一标识,非空且唯一 - 默认约束 DEFAULT
没有赋值,就采用默认值 - 检查约束 CHECK
保证字段满足某一条件 - 外键约束 FOREIGN KEY
用于建立多张表之间的关系,保证数据的一致性和完整性
3.使用
除了外键约束之外,其它约束可以在创建表时,直接加载字段的后面
eg:
CREATE TABLE user(
id INT PRIMARY KEY COMMENT '主键约束'
);
二、外键约束
1.概念
什么是外键约束哇?
外键约束是用来建立俩张表之间的关系的,从而来保证数据的一致性和完整性。
2.语法
如何使用呢?
a>添加约束
- 在创建表时添加约束
CREATE TABLE 表名(
字段名 数据类型,
...
[CONSTRAINT][外键名称]FOREIGN KEY(外键名称)REFERENCES 主表(主表列名)
);
- 在修改表时添加约束
ALTER TABLE 主表名ADD CONSTRATINT FOREIGN KEY (主表id) REFERENCES 从表(从表id);
c>删除约束
ALTER TABLR 表名 DROP FOREIGN KRY 外键名;
总结
约束可以对数据进行校验和检查、限制,保证数据的精确性。后期的优化,约束也是切入点哦,慢慢来吧!