MYSQL的学习笔记-----MYSQL的约束
来源:互联网 发布:java发送邮件的代码 编辑:程序博客网 时间:2024/04/30 14:34
约束
--约束可以保证数据的完整性和一致性
--约束分为表级约束和列级约束
约束的类型
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相同
♦表级约束和列级约束
-- 对一个数据建立的约束,称为列级约束
-- 对多个数据建立的约束,称为表级约束
-- 列级约束既可以在列定义是声明,也可以在列定义后声明
-- 表级约束值能在列定义后声明
0 0
- MYSQL的学习笔记-----MYSQL的约束
- mysql学习笔记(二)SQL的约束
- MYSQL学习之二 :SQL的约束
- mysql的约束
- MySQL的约束
- MySQL的约束
- mysql的约束
- MySQL的约束问题
- MySQL数据库的约束
- mysql 的 check约束
- mysql的约束
- mysql的约束
- mysql的约束
- MySQL表的约束
- 学习mysql(1) mysql中表,字段,约束的简单操作
- MySQL的学习笔记
- mysql的学习笔记
- mysql的学习笔记
- Android面试知识点-java篇
- python之正则表达式匹配全部findall()方法
- 第一讲项目2-长方形面积
- 前段技术杂记--Javascript
- hihoCoder - 1116 - 计算 (线段树区间合并)
- MYSQL的学习笔记-----MYSQL的约束
- Mysqlbackup 备份详解(mysql官方备份工具)
- 边框属性Border的终极研究
- java获取当前时间、当前零点零分零秒、昨天这一时间
- Linux中JDK的安装和配置方法
- Hibernate中反射优势
- 教你在“运行”中打开常用系统设置(转)
- 《数据结构导论之二叉树》
- 鸡血搬前行。