温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用mysql视图

发布时间:2020-08-03 11:24:10 来源:亿速云 阅读:169 作者:小猪 栏目:MySQL数据库

这篇文章主要讲解了如何使用mysql视图,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

什么是视图:

  • 视图是一种基于查询结果的虚拟表,数据来源的表称为基本表。
  • 视图的建立和删除不影响基本表。
  • 视图的插入,修改操作会影响基本表。
  • 如果视图来自多个基本表,那么不可以修改基本表。
  • 视图的用处:
    • 1.视图基于查询结果,使得视图可以隐藏基本表一些不该展示给用户的数据信息(比如某个开发人员需要用户信息表,但不应该展示给他用户的密码信息。)
    • 2.视图是一个虚拟表,可以将查询信息存储到视图中,这样可以便于操作。
    • ......

创建视图:

  • 语法:create view 视图名 as select语句 [with check option];【select语句可以多表查询结果:联合查询、连接查询】
    • with check option会依据where等条件语句来限制插入和修改操作(比如检索出来的视图数据是男的,不允许将男的改成女的)
        create view man_info as select * from student where gender="male";
             

补充:

  • 视图的创建还有一个可选项:视图算法(这里不讲述,想了解的可以百度)

查看视图:

  • 视图是一个虚拟表,针对表的查看语句都可以使用到视图中
    • 查看所有视图:show tables/views;
    • 查看视图结构:desc/describe/show columns from 视图名;
    • 查看视图创建语句:show create table/view 视图名;

视图的修改:

  • 有时候可能发生定义视图错误,所以这时候会执行修改视图操作。
  • 语法:alter view 视图名 as 新的select语句;
create view user_view as select * from user;
alter view user_view as select username,money from user;

补充:

  • 由于视图是一种虚拟表,还有一种可以修改视图的方法:create or replace view 视图创建语句;【将以新的视图覆盖旧视图】

视图的删除:

  • 语法:drop view 视图名[,视图名…];
  • 示例:
    drop view student_class,student_info;
     

视图的数据操作:

  • 如果视图来自多个基本表,那么不可以修改基本表。不过理论上update是允许的。

视图的数据查看:

  • 语法:select 字段列表 from 视图名;【与基本表的查询操作是一致的。】

视图的数据插入:

  • 数据来源自多个基本表时,无法进行插入操作。
  • 语法:insert into 视图名 values();【与基本表的插入操作是一致的。】
  • 注意:视图结构来自于基本表,所以要接受基本表的约束。如果某个字段不允许为空,但视图的插入操作又没赋值的话,会插入失败。

视图的数据修改:

  • 语法:update 视图名 set 字段名 = 值 where 条件;【与基本表的修改操作是一致的。】

视图的数据删除:

  • 数据来源自多个基本表时,无法进行删除操作。
  • 语法:delete from 视图名 where 条件;【与基本表的删除操作是一致的。】

看完上述内容,是不是对如何使用mysql视图有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI