三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

MySQL学习之外键的图文详细说明

时间:2022-12-12作者:未知来源:三度网教程人气:


SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
1、比方现在有两张表“分类表”和“商品表”,为了表明商品属于哪个分类,通常我们将在商品表上添加一列,用于存放分类cid的信息,此列称为:外键。

MySQL学习之外键的图文详解

此时分类表category称为主表,cid称为主键;商品表products称为从表,category_id称为外键。

外键特点:1)从表外键的值是对主表主键的引用

     2)从表外键类型必须与主表主键一致。

使用外键的目的:保证数据的完整性

2、首先在命令提示符内创建一个数据库web09,并创建两张表category和product,语句如下:

MySQL学习之外键的图文详解

分别插入多条数据

eg.insert into category(cid,cname) values('c001','家电'); insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');

显示如下:

MySQL学习之外键的图文详解

MySQL学习之外键的图文详解

3、声明外键约束

语法:alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);

[外键名称]用于删除外键约束的,一般建议"_fk"结尾

MySQL学习之外键的图文详解

约束声明后,如果我想删除category表中cid=c003的数据,删除不了

MySQL学习之外键的图文详解

4、解除约束

语法:alter table 从表 drop foreign key 外键名称

MySQL学习之外键的图文详解

继续删除category表中cid=c003的数据,可以删除

MySQL学习之外键的图文详解

注意:从表外键不能添加主表中不存在的记录

   主表不能删除从表中已经引用的记录。

5、一对多建表原则:

MySQL学习之外键的图文详解

6、多对多建表原则:

MySQL学习之外键的图文详解

以上就是MySQL学习之外键的图文详解的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

关键词:  MySQL学习之外键的图文详细说明





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版