mysql之视图 View

作用:对数据的一种重构,不影响原表数据;

           提高安全性。可以给不同用户提供不同的视图;

           使得数据更加清晰;

           简化高频的复杂操作,就像对复杂操作的一种封装。

视图(虚拟表,但是用show tables;可以查看到),意即映射。

先用select语句查出一部分数据(可以是一个表中的,也可以是多个表中的),再将这些数据创建出一个快捷方式,去存储这部分数据,不是将原有数据复制一份出来,所以不会额外占用数据库空间。

用如下语句可创建视图hobby_student:

          create view  hobby_student   as   select   stu.id, stu.name, hob.hobby  from  stu  left join   hob;

一般而言,仅仅对视图表执行读操作,不执行写操作。

当视图是一个表中数据的映射时,执行写操作可以成功,若视图是多个表的映射,再执行写操作时,会报错,因为有多个表,系统不知要修改哪个!

区分原表和视图表的方法(基本是一个固定语句):

          show full tables in stu(表名)  where table type  like  “view”;

视图删除:

          drop view  if   exists  视图表名;

修改视图语句中的内容:

          方式一:(只需要将create修改为alter)

          alter view  hobby_student   as   select   stu.id, stu.name, hob.hobby  from  stu  left join   hob;

          方式二:

          create 【or repalce】 view   .....;

猜你喜欢

转载自blog.csdn.net/weixin_45037357/article/details/108293984
今日推荐