mysql恶补_约束1

来源:互联网 发布:淘宝店铺上传宝贝软件 编辑:程序博客网 时间:2024/05/01 09:20

约束

1.约束是保证数据的完整性和一致性。

2.约束分为表级和列级约束。

3.约束类型包括:

NOT NULL(非空约束)

PRIMARY KEY(主键约束)

UNIQUE KEY(唯一约束)

DEFAULT(默认约束)

FOREIGN KEY(外键约束)


外键约束:

保持数据的一致性,完整性.

实现一对一或一对多的关系.(关系型数据库)

1.父表和子表必须使用相同的存储引擎,而且禁止使用临时表.

2.数据表的存储引擎只能为InnoDB.

3.外键列和参照表必须具有相似的数据类型.其中数字的长度或者是否有符号位必须相同;而字符的长度则可以不同.

4.外键列和参照列必须创建索引.如果外键列不存在索引的话,MYSQL将自动创建索引.


外键约束的参照操作

1.CASCADE:从父表删除或更新且自动删除或更新字表中匹配的行

2.SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,必须保证子表列没有指定NOT NULL.

3.RESTRICT:拒绝对父表的删除或更新操作.

4.NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同.


在实际的开发中,我们很少使用物理的外键约束,很多情况下使用逻辑的外键约束,因为只有InnoDB支持物理的外键约束,所谓的逻辑外键,我们定义两张表的结构的时候,我们是安装定义两张表的结构去定义,而不去使用foreign key这个关键词去定义。


sql 命令补充

show databases;

show tables;

show columns from `biao`;

show indexes from 'biao';            //显示表索引

show create table `biao`;            //显示创建表的sql语句

0 0