一.概念
含义:虚拟表,和普通表一样使用
表与视图的区别:
表create table保存了数据增删改查
视图create view只是保存了sql逻辑增删改查,只是一般不能增删改
特点:
1.预查询
2.sql语句简单明了
3.业务的统一处理
二.创建视图
语法:create view 视图名 as 查询语句;
1.举例:单纯的连表查询
select * from t_mysql_employees e,t_mysql_jobs j where
e.job_id=j.job_id and j.job_title='Sales Manager';
2.举例:查询大于10000薪资的
select * from t_mysql_employees e,t_mysql_jobs j where
e.job_id=j.job_id and j.min_salary>10000
2.创建视图:
create view v_mysql_employees_jobs as
select e.*,j.job_title,j.min_salary,j.max_salary from t_mysql_employees e,t_mysql_jobs j where e.job_id=j.job_id
注:这个视图里面就包含了两张表的信息
3.使用:
通过视图优化连表查询:结果一致的
select * from v_mysql_employees_jobs v where
v.job_title='Sales Manager';
select * from t_mysql_employees e,t_mysql_jobs j where
e.job_id=j.job_id and j.job_title='Sales Manager';
注:创建视图的过程中,如果有重复的列,会导致视图创建失败
三.视图的修改
方式一:create or replace view 视图名 as 查询语句;
方式二:alter view 视图名 as
create or REPLACE view v_mysql_employees_jobs as
select e.*,j.job_title,j.min_salary from t_mysql_employees e,t_mysql_jobs j where e.job_id=j.job_id
四.删除视图
语法:drop view 视图名,视图名,...;
五.查看视图
DESC myv3;
--通过查看视图,看到表结构,或者去创建视图对应的类
desc v_mysql_employees_jobs