程序员之路:mysql数据库约束

约束:
约束保证数据的完整性和一致性
约束分为 表级约束 和 列级约束

约束类型包括
NOT NULL 非空约束
PRIMARY KEY 主键约束
UNIQUE KEY 唯一约束
DEFAULT 默认约束
FOREIGN KEY外键约束

1、非空约束
不允许为空:NOT NULL
允许为空:NULL

2、自动编号:AUTO_INCREMENT
(1)默认起始1,自动增量为1

3、主键约束:PRIMARY KEY
(1)每张表只能存在一个主键,
(2)主键保证记录的唯一性,
(3)主键自动为NOT NULL,

4、唯一约束:UNIQUE KEY
(1)唯一约束可以保证记录的唯一性
(2)唯一约束的字段可以为空值(NULL)
(3)每张数据表可以存在多个唯一约束

5、默认值:DEFAULT
没有明确为字段赋值,自动赋予默认值

6、外键约束:FOREIGN KEY
保持数据一致性,完整性
实现一对一或一对多关系
要求:
(1)父表和子表必须使用相同的存储引擎,而且禁止使用临时表
(2)数据表的存储引擎只能为InnoDB
(3)外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同,而字符的长度则可以不同
(4)外键列和参照列必须创建索引,如果外键列不存在索引,则自动创建

置默认存储引擎:
配置文件:default-storage-engine=INNODB

你可能感兴趣的:(程序员之路:mysql数据库约束)