时间:2021-07-01 10:21:17 帮助过:24人阅读
2.1、 Navicat for MySQL 实现一对多;
答:实现成功,注意事项,最好在新建立表的时候就把外键一块给创建了,要不然后面很麻烦
表设计==> 外键==>栏位(自己要借鉴的列)==>参考表==>参考的栏位==>ctrl+s
2.2、 代码实现;
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 排列 如何