且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-08-19 18:09:29

约束:

约束保证数据的完整性和一致性

约束分为 表级约束 和 列级约束


约束类型包括

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