MySQL学习之外键的图文详解
程序员文章站
2022-04-16 19:41:07
...
1、比方现在有两张表“分类表”和“商品表”,为了表明商品属于哪个分类,通常我们将在商品表上添加一列,用于存放分类cid的信息,此列称为:外键。
此时分类表category称为主表,cid称为主键;商品表products称为从表,category_id称为外键。
外键特点:1)从表外键的值是对主表主键的引用
2)从表外键类型必须与主表主键一致。
使用外键的目的:保证数据的完整性
2、首先在命令提示符内创建一个数据库web09,并创建两张表category和product,语句如下:
分别插入多条数据
eg.insert into category(cid,cname) values('c001','家电'); insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');
显示如下:
3、声明外键约束
语法:alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);
[外键名称]用于删除外键约束的,一般建议"_fk"结尾
约束声明后,如果我想删除category表中cid=c003的数据,删除不了
4、解除约束
语法:alter table 从表 drop foreign key 外键名称
继续删除category表中cid=c003的数据,可以删除
注意:从表外键不能添加主表中不存在的记录
主表不能删除从表中已经引用的记录。
5、一对多建表原则:
6、多对多建表原则:
以上就是MySQL学习之外键的图文详解的详细内容,更多请关注其它相关文章!
推荐阅读
-
Win10 64位使用压缩包安装最新MySQL8.0.18的教程(图文详解)
-
mysql外键的三种关系实例详解
-
MySQL5.7.24版本的数据库安装过程图文详解
-
Mysql 5.7.18 解压版下载安装及启动mysql服务的图文详解
-
Python3爬虫学习之MySQL数据库存储爬取的信息详解
-
windows版本下mysql的安装启动和基础配置图文教程详解
-
mysql-8.0.16 winx64的最新安装教程图文详解
-
mysql学习笔记之完整的select语句用法实例详解
-
Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)
-
mysql8.0.20下载安装及遇到的问题(图文详解)