mysql命令(四)--约束
来源:互联网 发布:淘宝卖衣服货源 编辑:程序博客网 时间:2024/05/17 09:39
约束:
约束是为了保证数据的完整性
约束分为表级约束和列级约束
约束类型包括:
NOT NULL 非空约束
PRIMARY KEY 主键约束
UNIQUE KEY 唯一约束
DEFAULT 默认约束
FOREIGN KEY 外键约束外键约束:
保持数据的完整性,一致性
实现一对一或者一对多的关系
要求:
父表(被参照)和子表(具有外键列)必须使用相同的存储引擎,而且禁止使用临时表
数据表的存储引擎只能使用InnoDB
外键列和参照列必须具有相似的数据类型,数字的长度或是否有符号位必须相同,字符串的长度则可以不同
外键列和参照列必须创建索引,参照列没有索引,MYSQL则会自动创建,而外键列没有的话,不会自动创建
在创建表的时候会自动为主键创建索引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, username varchar(10) not null, pid smallint unsigned, foreign key (pid) references provinces(id) );
查看索引:
SHOW INDEXS FROM table_name;
SHOW INDEXS FROM table_name\G;外键约束的参照操作:
CASCADE:从父表删除或者更新自动删除或者更新字表中的行
SET NULL:从父表删除或者更新行,自动设置字表中的外键列为NULL,
如果使用该选项,必须保证字表的参照列不为NOT NULL
RESTRICT:拒绝对父表的删除或者更新操作
NO ACTION:标准SQL的关键字,在MYSQL中与RESTRICT相同表级约束和列级约束
对一个数据列建立的约束,称为列级约束
对多个数据列建立的约束,称为表级约束
列级约束既可以在列定义时声明,也可以在列定以后声明
表级约束只能在列定义之后声明
主键约束,外键约束,唯一约束可以为列级约束或表级约束,而NOT NULL和DEFAULT一般为列级约束
- mysql命令(四)--约束
- Mysql命令删除约束
- SQL约束 + 一些MySQL命令
- mysql 各种命令 四
- MySQL学习笔记(四)修改数据表约束
- mysql命令大全(四)
- Mysql约束
- Mysql约束
- mysql约束
- MySQL约束
- mysql约束
- mysql约束
- mysql约束
- mysql约束
- MYSQL约束
- MySQL约束
- MySQL约束
- MySQL---约束
- Android中的Fragment ---- 04(Activity和Fragment之间的通信)
- kali信息收集工具之dnsmap
- 【人生感悟】:跟老妈的关系
- .net mvc 视图入门
- windows下编译最新x264
- mysql命令(四)--约束
- HDU-1879 继续畅通工程(Kruskal)(Prim省略)
- StringBuffer与StringBuilder区别
- Activity官方文档译文简析
- 版本控制之重要操作
- mysql命令(三)--操作数据表中的记录
- JNI WARNING: CallObjectMethod expected return type 'L'
- Coderforces 598.B Queries on a String
- 页面传值