MySQL数据库——创建约束基本操作
2017-02-01 22:17
274 查看
约束是为了保证数据的完整性和一致性
约束类型包括:
NOT NULL (非空约束)
PRIMARY KEY (主键约束)
UNIQUE KEY (唯一约束)
DEFAULT (默认约束)
FOREIGN KEY (外键约束)
外键约束的参照操作及功能:
1.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
2.SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL
(ps.如果使用该选项,必须保证子表列没有指定NOT NULL)
3.RESTRICT:拒绝对父表的删除或更新操作
4.NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同
--对一个数据列建立的约束,就是列级约束 --对多个数据列建立的约束,就是表级约束 --列级约束既可以在列定义时声明,也可以在列定义后声明, --表级约束只能在列定义后声明 --注意! --NOT NUll和DEFAULT没有表级约束
约束类型包括:
NOT NULL (非空约束)
PRIMARY KEY (主键约束)
UNIQUE KEY (唯一约束)
DEFAULT (默认约束)
FOREIGN KEY (外键约束)
CREATE TABLE users(id SMALLINT UNSIGNED PRIMARY KEY); --主键:PRIMARY KEY --主键约束,每张数据表只可以有一个主键, --主键保证记录的唯一性,且其自动为NOT NULL CREATE TABLE users(name VARCHAR(20) NOT NULL UNIQUE KEY); --唯一约束:UNIQUE KEY --唯一约束可以保证记录的唯一性,且唯一约束字段可以为空 --每张数据库表可以存在多个唯一约束 CREATE TABLE users(sex ENUM('1','2','3') DEFAULT '3'); --默认约束:DEFAULT --默认值,当插入记录时,如果没有明确为字段赋值,则自动赋予默认值 --EN 4000 UM是枚举,表示用户只能从3个选项中选一个字段赋值,详细内容可自行搜索
CREATE TABLE provinces( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, pname VARCHAR(20) NOT NULL ); --父表,省份信息 CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, uname VARCHAR(10) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES provinces (id) ); --子表,用户信息,用户pid 对应 省份id --外键约束:FOREIGN KEY --外键约束要求: --1.父表和子表必须使用相同的存储引擎,而且禁止使用临时表 --2.数据表的存储引擎只能为InnoDB /* 3.外键列和参照列必须具有相似的数据类型。 其中数字的长度或者是否有符号位都必须相同 但是,若是字符的长度,则可以不同 */ --4.外键列和参照列必须创建索引,如果外键列不存在索引。!MySQL将自动创建索引!
外键约束的参照操作及功能:
1.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
2.SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL
(ps.如果使用该选项,必须保证子表列没有指定NOT NULL)
3.RESTRICT:拒绝对父表的删除或更新操作
4.NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同
--例子 CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, uname VARCHAR(10) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES provinces (id) ON DELETE CASCADE ); --ON DELETE 意思为删除操作发生时
相关文章推荐
- MySql数据库的基本操作-表数据中的 设置外键约束
- mysql数据库应用(五)----表的基本操作(创建,删除,显示)
- MySql数据库的基本操作-外键约束的参照操作-父表变化,子表的动作
- MySql数据库的基本操作-修改表-删除约束
- mysql数据库的基本操作:创建数据库、查看数据库、修改数据库、删除数据库
- MySQL数据库——‘多表’的基本操作(更新、删除、创建写入)
- MySQL数据表的基本操作一:创建表与表约束
- MySQL数据库操作3-数据表操作1-创建,约束
- MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
- MySQL数据库学习02-数据表的基本操作:创建
- MySql入门之一:DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
- MySQL数据库——修改约束基本操作
- MySql数据库的基本操作-修改表-添加/修改约束(默认值)
- MySql数据库的基本操作-表数据中的 唯一约束 & 默认约束
- MySQL数据库表的基本操作——创建表CREATE TABLE
- FCKeditor 上传自动重命名、按月创建文件夹和基本操作 [转]
- QC基本操作汇总(如何创建项目管理)
- Oracle Database的基本操作——SELECT语句,添加表主键约束,内置函数,字段串接
- mysql数据库基本操作总结
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)