本文整理自网络,侵删。
目录
- 一、什么是视图
- 二、创建视图
- 1.在单表上创建视图
- 2.在多表上创建视图
- 三、查看视图
- 四、更新视图数据
- 五、修改视图
- 六、删除视图
- 总结
一、什么是视图
小学的时候,每年都会举办一次抽考活动,意思是从每一个班级里面筛选出几个优秀的同学去参加考试。这时候很多班级筛选出来的这些同学就可以临时组成一个班级,如果我们把每一个班级都当做是一张真实的表,这个临时的班级在数据库里就可以当做一个视图,也就是说,这个临时的班级其实不是真实存在的,当考试过后,这些学生还是各回各家各找各妈。。。。
视图是从一个或多个表中导出来的表,是一种虚拟存在的表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据,这样用户可以不看整个数据库表中的数据,而只关心对自己有用的数据。视图可以使用户的操作更方便,而且可以保障数据库系统的安全性。
二、创建视图
1.在单表上创建视图
虽然视图可以被看成是一种虚拟表,但是其物理上是不存在的,即MySQL并没有专门的位置为视图存储数据。根据视图的概念可以发现其数据来源于查询语句,因此创建视图的基本语法为:
CREATE[OR REPLACE] VIEW viewname[(columnlist)] AS SELECT statement
CREATE表示创建新的视图;REPLACE表示替换已经创建的视图;[(columnlist)]表示可以显示的指出视图中有哪些列(必须和select语句对应);viewname为视图的名称;columnlist为属性列;SELECT statement表示SELECT语句;
注意! 创建视图需要登陆用户有相应的权限,查看权限方法:
select user,Select_priv,Create_view_priv from mysql.user;
例如在下面学生表上面创建视图
创建视图SQL语句示例
create view view_student as select id,name ,class_id,sex from student;
查看视图
通过视图可以检索数据
视图本身相当于一个窗口,通过这个窗口我们也可以修改数据
update view_student set name='小王王' where name='小王';
2.在多表上创建视图
CREATE[OR REPLACE] VIEW viewname[columnlist] AS SELECT statement
- CREATE表示创建新的视图;
- REPLACE表示替换已经创建的视图;
- viewname为视图的名称;
- columnlist为属性列;
- SELECT statement表示SELECT语句。与单表上创建视图不同的是,SELECT子句是涉及到多表的联合查询语句。
例如在下面教师表和学生表之间创建视图
SQL语句 (视图不允许有列名重复,所以这里的class.id和student.id要起别名
create view view_student_teacher as select class.id as teacher_id,teacher,class,student.id,student.name,sex from class left join student on class.id=student.class_id;
三、查看视图
创建完视图后,像表一样,我们经常需要查看视图信息。在MySQL中,有许多可以实现查看视图的语句,如DESCRIBE、SHOW TABLES、SHOW CREATE VIEW。如果要使用这些语句,首先要确保拥有SHOW VIEW的权限。
1.使用DESCRIBE | DESC语句查看视图基本信息
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL视图的概念、创建、查看、删除和修改详解
相关推荐
评论
管理员已关闭评论功能...