多表介绍
1.一对一
2.一对多
3.3多对多
关联两张表的主键
多表查询
笛卡儿积:
* 有两个集合A,B .取这两个集合的各种组合情况。
* 要完成多表查询,需要消除无用的数据
select * from 表1,表2;
表间关系:
1.内连接查询【查询有交集的数据】
内连接查询的是有主外键关联的数据。
eg:表1的某些数据是表2某些数据的外键。那么查询的时候仅显示有关联的内容,无关联的查不出来。
on后面写两表之间关联的条件【外键联系的字段】
查询的信息用到了两张表的数据, 有了条件我们就可以得到正确的两表间匹配的数据
eg:orderlist.uid=user.id 【因为两表间存在外键联系,uid=id则明确了具体的联系信息,将两表的联系信息结合到一起,相当于合并成一条】
2.外连接查询
【查询的是全部数据,包括两表之间没有交集的部分】
分为两种:左外连接,右外连接。
3.子查询
单行单列:【结果当作一个值来看】
可以作为条件,使用运算符进行判断!
单行多列:【结果当作多个值来看】
可以作为条件,使用运算符in或not in进行判断!
多行多列:【结果作为一张表来看待】
可以作为一张虚拟表参与查询!
多表查询练习
4.自关联查询
当查询的两个表属于多对多关系时,需要借助中间表
视图
-
说白了,视图就是将一条SELECT查询语句的结果封装到了一个虚拟表中,所以我们在创建视图的时候,工作重心就要放在这条SELECT查询语句上
1.视图的创建,查询
2.视图的修改和删除
数据库的备份,还原
命令行(cmd窗体)形式
图形化界面形式
删除:
恢复:
先创建一个数据库