视图
-
关键字view
-
语法:
create view 名称 as 联表查询
-
-
相同的联表语句可以创为一个视图
-
新建视图可以对联表语句查询的结果进行封装,封装后可以对结果直接引用
-
删除视图
-
drop view 名称
-
-
四个数据表的联接本质上就是两个视图的联接
-
这两个视图也需要条件的限制,否则就是将其中一个表格的其中一行对应另一个表格的每一行
-
-
四个视图联接的案例
-- 用户表和计划表联接视图
create view yi as
select
a.id user_id,
a.name user_name,
a.phone user_phone,
a.nric user_nric,
b.id plan_id,
b.user_id plan_user,
b.room_id plan_room,
b.begin plan_begin,
b.end plan_end
from user a inner join plan b on a.id = b.user_id;
-- 类型表和房间表联接视图
create view er as
select
a.id type_id,
a.name type_name,
b.id room_id,
b.no room_no,
b.type_id room_type,
b.description room_description,
b.price room_pricce
from type a inner join room b on a.id = b.type_id;
-- 四个表联接
create view san as select * from yi a inner join er b on a.plan_room = b.room_id;
-
表与表之间相互连接的时候要注意有没有相同的列段名,如果有的话需要取别名,后续应用的时候可以直接引用别名,需要避免列段重复,别名建议使用英文。
-
两个表之间的联接是寻找表与表之间的联系之处,两个视图之间的联接也不例外。
-
视图只是保存的查询而不储存数据,相当于一张虚拟的表格,视图无法实时更新。
索引
-
提高查询速度的数据结构
-
作用:
-
提高查询数据的速度
-
加速排序和分组
-
唯一性约束
-
但是会,增加储存空间,以及影响读写速度
-
-
创建索引:index
-
create index 索引名称 on 表名(列段名);-
create index aa on book(title); -
当查询book表格里面的title列段的时候速度变得更加快
-
当查询次数很多的时候可以添加索引,并不一定每个字段都得添加
-
-
-
删除索引
-
drop index aa on book(title);
-

被折叠的 条评论
为什么被折叠?



