约束
--约束可以保证数据的完整性和一致性
--约束分为表级约束和列级约束
约束的类型
1、空值与非空值
NULL,字段值可以为空
NOT NULL,字段值禁止为空
2、AUTO_INCREMENT
--自动编号,并且必须与主键组合使用
--默认情况下,其开始值为1,每次的增量为1
3、PRIMARY KEY
--主键约束
--每张数据表只能存在一个主键
--逐渐保证记录的唯一性
--主键自动为 NOT NULL
4、UNIQUE KEY
-- 唯一约束
--唯一约束可以保证记录的唯一性
--唯一约束的字段的可以为空值
--每张表可以存在多个唯一约束
5、DEFAULT
--默认值
--当插入记录时,如果没有明确的为字段赋值,则自动赋予默认值
6、FOREIGN KEY
--外键约束
--保持数据的一致性,完整性
--实现一对一的或一对多的关系
♦外键约束的要求
(1)父表和字表必须使用相同的存储引擎,而且禁止使用临时表
(2)数据标的存储引擎必须是InnoDB
(3)外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同
(4)外键列和参照列必须创建索引,如果外键列不存在索引的话,MYSQLj将会自动创建索引
♦编辑数据表的默认存储引擎
--MYSQL配置文件
default-storage-engine INNODB
♦外键约束的参照操作
(1)CASCADE:从父表删除或更新并且自动删除或更新字表中的匹配的行
(2)SET NULL :从父表删除或更新行,并设置字表中的外键列为NULL.如果使用该选项,必须保证字表没有指定NOT NULL
(3)RESTRICT :拒绝对父表的删除或更新操作
(4)NO ACTION :标准SQL的关键字,在MYSQL中雨RESTRICT相同
♦表级约束和列级约束
-- 对一个数据建立的约束,称为列级约束
-- 对多个数据建立的约束,称为表级约束
-- 列级约束既可以在列定义是声明,也可以在列定义后声明
-- 表级约束值能在列定义后声明
--约束可以保证数据的完整性和一致性
--约束分为表级约束和列级约束
约束的类型
1、空值与非空值
NULL,字段值可以为空
NOT NULL,字段值禁止为空
2、AUTO_INCREMENT
--自动编号,并且必须与主键组合使用
--默认情况下,其开始值为1,每次的增量为1
3、PRIMARY KEY
--主键约束
--每张数据表只能存在一个主键
--逐渐保证记录的唯一性
--主键自动为 NOT NULL
4、UNIQUE KEY
-- 唯一约束
--唯一约束可以保证记录的唯一性
--唯一约束的字段的可以为空值
--每张表可以存在多个唯一约束
5、DEFAULT
--默认值
--当插入记录时,如果没有明确的为字段赋值,则自动赋予默认值
6、FOREIGN KEY
--外键约束
--保持数据的一致性,完整性
--实现一对一的或一对多的关系
♦外键约束的要求
(1)父表和字表必须使用相同的存储引擎,而且禁止使用临时表
(2)数据标的存储引擎必须是InnoDB
(3)外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同
(4)外键列和参照列必须创建索引,如果外键列不存在索引的话,MYSQLj将会自动创建索引
♦编辑数据表的默认存储引擎
--MYSQL配置文件
default-storage-engine INNODB
♦外键约束的参照操作
(1)CASCADE:从父表删除或更新并且自动删除或更新字表中的匹配的行
(2)SET NULL :从父表删除或更新行,并设置字表中的外键列为NULL.如果使用该选项,必须保证字表没有指定NOT NULL
(3)RESTRICT :拒绝对父表的删除或更新操作
(4)NO ACTION :标准SQL的关键字,在MYSQL中雨RESTRICT相同
♦表级约束和列级约束
-- 对一个数据建立的约束,称为列级约束
-- 对多个数据建立的约束,称为表级约束
-- 列级约束既可以在列定义是声明,也可以在列定义后声明
-- 表级约束值能在列定义后声明