二十二、视图——一

1、视图的创建

视图的定义: view是一种有结构(有行有列),但是没结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义,而是从对应的基表中产生(视图的数据来源)。
创建视图的基本语法:
create view 视图名 as select语句;
创建视图实例: 创建两个视图,一个基于单表,一个基于多表
1、单表:create view computer as select id,course_name from computer_course;
在这里插入图片描述
2、多表:create view computer_student as select course_name,`student.id,name from computer,student;
在这里插入图片描述
注: 多表视图的多张基表中不能有重复的字段名,如果有,则必须对重复字段起别名

2、查看视图信息及使用视图

查看所有视图或者某个视图

视图是一张虚拟表,也就是说表的所有查看方式都适用于视图。
1、查看所有视图
基本语法:show tables;
注: 此语句查出的是本数据库下所有的数据表(包括视图)
2、查看指定的视图(搜索某个视图)
基本语法:show tables like 'patterns';
注: patterns指匹配模式,有“%”和“_”两种方式,作用和表搜索语句中的匹配模式一样(前面已经讲过(第三节))。
实例:show tables like 'class';–寻找class视图
show tables like 'class%';–寻找以class开头的视图

查看视图的字段信息和视图的创建语句

1、查看视图的字段信息
基本语法:

//方法一
describe 视图名;
//方法二
desc 视图名;
//方法三
show columns from 视图名;

2、查看视图的创建语句
基本语法:

//方法一
show create table 视图名;
//方法二
show create view 视图名;

3、实例

//查看computer视图的字段信息
desc computer;
//查看computer视图的创建语句
show create view computer;
show create table computer;

注: 视图一旦创建,系统会在视图对应的数据库文件夹下创建一个对应的结构文件(.frm文件)

视图的使用

视图的主要用途还是在于提高查询的效率,所以其本质还是在查询时会用到。
实例:

//查找computer视图中的所有信息
select * from computer

注: 视图的执行,其实本质就是执行封装的select语句,这样做可以提高效率

3、视图的删除和修改

视图的删除

删除视图的基本语法:

drop view 视图名字;
//例如,删除名为computer的视图
drop view computer;
视图的修改

首先需要说明的是,视图本身不可修改,但是视图的来源是可以修改的;修改视图来源其本质就是修改视图的select语句。
修改视图的基本语法:

基本语法:alter view 视图名 as select语句;
//实例:将head_master_view视图(原来基于head_master的id和c_id字段)改为基于class的id和cname字段
alter view head_master_view as select id,cname from class;

4、视图的意义

  1. 视图可以节省SQL语句,将一条复杂的SQL语句使用视图进行保存,以后可以直接对视图进行操作;
  2. 数据安全:视图操作主要是针对查询的,如果对视图结构进行处理(删除),不会影响基表数据(相对安全);
  3. 视图往往在大项目中使用,而且是多系统使用;可以对外提供有用的数据,但是隐藏关键(对某些使用者无用)的数据,数据安全;
  4. 视图可以对外提供友好性,不同的视图提供不同的数据,对外好像专门设计;
  5. 视图可以更好(更容易)的进行权限控制;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值