mysql复习_mysql复习篇及一对多和多对多的总结(17.6.26 )

可以与副表中的某一项有关系(一夫一妻制);

2.1、 Navicat for MySQL 实现一对多;

答:实现成功,注意事项,最好在新建立表的时候就把外键一块给创建了,要不然后面很麻烦

表设计==> 外键==>栏位(自己要借鉴的列)==>参考表==>参考的栏位==>ctrl+s

2.2、  代码实现;

736411785060b8df6ad8901f5c426d1e.gif

1013c83f7493cf6da538696fbcb5681d.gif

CREATE TABLE person1(

nid INT (11) AUTO_INCREMENT,

NAME VARCHAR (32),

email VARCHAR (32),

part_nid INT,

PRIMARY KEY (nid),--KEY fk_xxx (part_nit),

CONSTRAINT fk_xxx FOREIGN KEY (part_nid) REFERENCES part1 (nid)

)

代码实现外键

2.3、  代码删除和添加一对多;

删除:alter table person1 drop foreign key fk_xxx

添加:alter table person1 add constraint fk_xxx foreign key(part_nid) references part1(nid)

3、实现一对一及一对多的查询:

要求:分别用 left join、inner join 灵活实现;未能实现

普通条件查询   SELECT person.name,part1.nidd from person,part1 where person.nid = part1.nidd

一张表的关联查询:

select * from 主表 left join 副表 on 主表关联列 = 副表关联列   where ...

与多张表的关联查询:

select * from 主表

left join 副表 on 主表关联列 = 副表关联列

left join 副表 on 主表关联列 = 副表关联列

where ...

还有 inner join  与 right join   功能 都差不多。

b.多对多

1、你是如何理解多对多的;

多对多 是指:主表中的一项可以与副表中的多项有关系(一夫多妻制);

2、Navicat for MySQL 实现多对多,提示:创建表一,表二、表三、  利用表三建立表一与表二的关系;

答:完成

3、实现灵活查找 提示 利用join

select * from 主表

left join 副表1 on 主表关联列 = 副表1关联列

left join 副表2 on 主表关联列 = 副表2关联列

where ...

mysql复习篇及一对多和多对多的总结(17.6.26 )

标签:cat   如何排序   利用   arc   table   closed   and   排列   如何

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/learn-python-M/p/7081682.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值