一、单表 多表 介绍
单表 多表 多对一 多对多 一对一 =============================================== 一对多:Book id title price publish_id 1 php 100 1 2 python 200 1 3 go 300 2Publish id name email addr 1 人名出版社 @ 北京 2 沙河出版社 @ 沙河 一旦确定是 一对多 怎么建立一对多的关系?---》 关联字段 ,建在‘多’的表中 查询python这本书的出版社的邮箱 (子查询) select email from Publish where id = ( select publish_id from Book where title = ‘python‘ ) =============================================== 多对多:(彼此一对多)Book id title price publish_id 1 php 100 1 2 python 200 1 3 go 300 2Author id name age addr 1 alex 34 beijing 2 egon 29 nanjingBook2Author id book_id author_id 1 2 1 2 2 2 3 3 2 alex 出版过的书籍名称 (子查询:以一个查询的结果作为下一个查询的条件) select title from Book where id in ( select book_id from Book2Author where author_id = ( select id from Author where name = ‘alex‘ ) ) =============================================== 一对一:Author id name age authordetail_id(unique) (一定要加) 1 alex 34 1 2 egon 29 2AuthorDetail (这个信息不经常查,为了效率,扩展) id addr gender tel gf_name 1 beijing male 110 小花 2 nanjing male 911 红花 =============================================== 总结:一旦确定是 一对多 怎么建立一对多的关系?---》 关联字段 ,建在‘多’的表中一旦确定是 多对多 怎么建立多对多的关系?---》 创建第三张表(关联表): id 和 两个关联字段一旦确定是 一对一 怎么建立一对一的关系?---》 在两张表中的任意一张表中建立关联字段 + unique PublishBookAuthorDetailAuthorBook2Author=====================================================create table publish( id int primary key auto_increment, name varchar(20));create table book( id int primary key auto_increment, title varchar(20), price decimal(8,2), pub_date date, publish_id int, foreign key (publish_id) references publish(id));create table authordetail( id int primary key auto_increment, tel varchar(20));create table author( id int primary key auto_increment, name varchar(20), age int, authordetail_id int unique, foreign key (authordetail_id) references authordetail(id));create table book2author( id int primary key auto_increment, book_id int, author_id int); =====================================================
二、创建模型
三、添加表记录
四、基于对象得跨表查询
五、基于双下划线得跨表查询
六、聚合查询与分组查询
七、F查询与Q查询
。。。
。。。 后续补全
八、关联管理器
。。。
。。。后续补全
原文地址:https://www.cnblogs.com/alice-bj/p/9078267.html
时间: 2024-11-04 22:46:56