MySQL--唯一约束、自增约束、外键约束说明
来源:互联网 发布:网络英语翻译 编辑:程序博客网 时间:2024/05/23 11:41
字段的唯一约束UNIQUE
字段唯一约束的说明:
(1)、唯一约束可以保证记录的唯一性,即就是同一个表中,相同字段的值不会出现重复。(2)、唯一约束的字段可以为空值(NULL)。
(3)每一张数据表可以存在多个唯一约束字段。
AUTO_INCREMENT自增约束
1、AUTO_INCREMENT可以约束任何一个字段,该字段不一定是PRIMARY KEY字段,也就是说自增的字段并不等于主键字段。
2、但是PRIMARY_KEY约束的主键字段,一定是自增字段,即PRIMARY_KEY 要与AUTO_INCREMENT一起作用于同一个字段。
3、当插入第一条记录时,自增字段没有给定一个具体值,可以写成DEFAULT/NULL,那么以后插入字段的时候,该自增字段就是从1开始,没插入一条记录,该自增字段的值增加1。当插入第一条记录时,给自增字段一个具体值,那么以后插入的记录在此自增字段上的值,就在第一条记录该自增字段的值的基础上每次增加1。
4、也可以在插入记录的时候,不指定自增字段,而是指定其余字段进行插入记录的操作。
具体命令行如下图:
1、约束简介:
(1)、约束保证了数据的完整性和一致性;
(2)、约束分为表级约束和列级约束。
其中,表级约束是指对多个数据列建议的约束,它只能在列定义后声明。
列级约束是指多一个数据列建立的约束,它可以在定义列的时候声明,也可以在列定义好以后声明。
(3)、约束的类型包括
NOT NULL(NN,非空约束)、
PRIMARY KEY(PK, 主键约束)、
UNIQUE KEY(UN, 唯一约束)、
DEFAULT(DE,默认约束)、
FOREIGN KEY(FK, 外键约束)
2、外键约束说明:
(1)、父表和子表必须使用相同的存储引擎,如InnoDB等,而且禁止使用临时表;
(2)、支持外键约束的数据表存储引擎只能是InnoDB;
(3)、外键列(字段)和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同,而字符类型的字段的长度则可以不同;
(4)、外键列(字段)和参照列(即外键列在另一个表中对应的主键列)必须创建索引,如果外键不存在索引(即外键约束)的话,MySQL将自动给外键列自动创建索引(外键约束)
外键约束使用案例,其中主键列(主表/父表)是province表,外键列(子表)是user表;
注意:province表中的id列,在province表中是主键列。user表中的pid列,在user表中是外键列,但是与province表中的id列一一对应,REFERENCES province(id),所以,user表中的pid字段的数据类型,是否UNSIGNED要与province表中的id字段对应好,对于非字符类型的字段,则要求字段类型以及各种约束都要完全相同。
- MySQL--唯一约束、自增约束、外键约束说明
- MySQL约束:非空约束、主键约束、唯一约束、默认约束、外键约束
- Oracle-主键约束、唯一约束与外键约束
- Oracle-主键约束、唯一约束与外键约束
- Oracle-主键约束、唯一约束与外键约束
- 主键约束、外键约束、唯一约束、检查约束、默认值约束实例
- 主键约束、外键约束、唯一约束、检查约束、默认值约束实例
- SQL约束(主键约束 primary key、外键约束 foreign key、唯一约束unique 、CHECK约束)
- MySQL--修改数据表5:删除主键约束,唯一约束,外键约束
- MySQL 添加唯一约束
- Mysql增加唯一约束
- MySQL 添加唯一约束
- Mysql 唯一约束
- MySQL--唯一约束
- Mysql删除唯一约束
- Mysql唯一索引 唯一约束
- MySql InnoDB 外键约束动作说明
- mysql外键约束解释说明
- 48. Rotate Image(数学矩阵相关知识)
- Python学习笔记(8) -- 多个数求和(关键词:reduce)
- C++ ---- 多字符编码与Unicode码
- 快速排序
- 把MyEclipse的工程导入到Eclipse中
- MySQL--唯一约束、自增约束、外键约束说明
- MySQL查询练习题
- C++算法学习——经典的抽象设计——charstack(2)
- Spark SQL入门
- LeetCode 17 Jump Game II
- Java基础-IO
- HDU 2438 Turn the corner(三分查找, 几何求解)
- Android使用kotlin开发初体验
- 1003. Emergency (25)