约束:
- 约束是为了保证数据的完整性和一致性。
- 约束分为表级约束和列级约束
约束只针对某一个字段使用,称之为列级约束
约束针对于两个或两个以上的字段,称之为表级约束
约束类型(按功能划分):
- NOT NULL(非空约束)
- PRIMARY KEY(主键约束)
- UNIQUE KEY(唯一约束)
- DEFAULT(默认约束)
- FOREIGN KEY(外键约束)
外键约束:
- 保持数据一致性,完整性。
- 实现一对一,多对多关系。
外键约束的要求:
- 父表和子表必须使用相同的存储引擎,而且禁止使用临时表
- 数据表的存储引擎只能为InnoDB
- 外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同
- 外键列和参照列必须创建索引
Demo:
1 # 1.首先创建一个数据库 2 CREATE DATABASE test1; 3 #2.创建一张省份信息表,用于保存省份,只有id和省份的名称 4 CREATE TABLE province( 5 id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, 6 name VARCHAR(20) NOT NULL 7 ); 8 #3.创建第二张表,拥有id和name以及省份信息pid 9 CREATE TABLE tb1( 10 id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, 11 username VARCHAR(20) NOT NULL, 12 pid SMALLINT UNSIGNED, 13 # 将本表的pid设为外键,其关联的是province表的id 14 FOREIGN KEY (pid) REFERENCES province (id) 15 );
时间: 2024-10-17 03:54:17