约束: 约束保证数据的完整性和一致性 约束分为 表级约束 和 列级约束
约束类型包括 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