• MySQL视图


    视图是从一个表或多个表导出来的表,是一种虚拟表,不占内存空间,视图中保存的仅仅是一条select语句,其数据源来自数据库表或其他视图。当基本表发生变化时,视图的数据也会随之变化。视图是存储在数据库中的查询SQL语句。

    使用视图的目的:1、安全原因,视图可以隐藏一些数据。2、操作方便,视图相当于对查询SQL语句的封装,在表结构有一些改变时不需要重新编写查询SQL。3、提高表的逻辑独立性,视图可以屏蔽原来表结构变化带来的影响。

    视图的工作机制:调用视图时,才会执行视图中的SQL语句。视图的内容没有存储,这样不会占用空间。又由于是即时即用,所以内容总是与真实表的内容一致。

    视图的定义和管理

    创建视图:

    create view 视图名 [(视图列表)] as 查询语句

    视图定义后,就可以如同查询基本表那样对视图进行查询

    视图注意事项:

    1、使用视图查询时,如基本表中添加了新字段,则该视图中不包括新字段。如果关联的基本表或视图被删除,则该视图将不能使用。

    删除视图:

    drop view if exists 视图名

    查看视图 :

    1、desc 视图名

    2、show table status like '视图名'

    3、show create view '视图名'

    4、查询某个数据库下的视图:select * from 数据库名.views where table_name = '视图名'

    修改视图:

    1、

    2、

    更新视图数据:update ....set

     更新视图原则:
    1、视图中包含聚合函数,无法更新

    2、包含union, union all, distinct , group by , having等关键字的,无法更新

    3、常量视图无法更新,如create view view1 as select now();

    4、包含子查询

    5、由不可更新的视图导出的视图,无法更新

    6、创建视图时algotithm为temptable类型

    7、视图关联的基本表存在没有默认值的列,而且该列没有包含在视图中

    8、·······

  • 相关阅读:
    树的重心备忘
    Hdu 2196
    HDU 1520
    TOJ1068 商务旅行
    携程HDU第一场1001
    USACO 4.3.2 The Primes
    Html常用标签的应用
    Html
    开班心得
    for循环练习及字符串处理
  • 原文地址:https://www.cnblogs.com/cn-chy-com/p/10710121.html
Copyright © 2020-2023  润新知