最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL管理与优化(8)_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:28:22
文档

MySQL管理与优化(8)_MySQL

MySQL管理与优化(8)_MySQL: 视图 视图是一种虚拟存在的表,对于使用视图的用户来说基本是透明的。 视图相对于普通表的优势: 1. 简单:使用视图的用户完全不需要关心后面对应的表的结构,关联条件和筛选条件,对用户来说已经是 过滤好的符合条件的结果集。 2. 安全:
推荐度:
导读MySQL管理与优化(8)_MySQL: 视图 视图是一种虚拟存在的表,对于使用视图的用户来说基本是透明的。 视图相对于普通表的优势: 1. 简单:使用视图的用户完全不需要关心后面对应的表的结构,关联条件和筛选条件,对用户来说已经是 过滤好的符合条件的结果集。 2. 安全:

视图

  • 视图是一种虚拟存在的表,对于使用视图的用户来说基本是透明的。
  • 视图相对于普通表的优势:
  • 1. 简单:使用视图的用户完全不需要关心后面对应的表的结构,关联条件和筛选条件,对用户来说已经是 过滤好的符合条件的结果集。

    2. 安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个 列,但是通过视图就可简单地实现。

    3. 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响; 源表修改列名,则可以通过修改视图来解决,不会造成对访问的影响。

    视图操作

    创建或修改视图:

  • 创建视图的语法:
  • CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]
  • 修改视图的语法:
  • ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]
  • 范例:
  • -- 创建或更新视图mysql> CREATE OR REPLACE VIEW city_list_view AS -> SELECT id, city FROM city;Query OK, 0 rows affected (0.07 sec)
  • MySQL视图定义有一些限制:
  • 1. FROM关键字后面不能包含子查询。

    2. 包含以下关键字的SQL语句:聚合函数(SUM, MIN,MAX,COUNT等),(DISTINCT, GROUP BY,HAVING, UNION, UNION ALL)。

    3. 常量视图。

    4. SELECT中包含子查询。

    5. JOIN。

    6. FROM一个不能更新的视图。

    7. WHERE子句的子查询引用了FROM子句中的表。

  • 对于WITH [CASCADED|LOCAL] CHECK OPTION:
  • 1. LOCAL是只要满足本视图的条件就可以更新;

    2. CASCADED则是必须满足所有针对该视图的所有视图的条件才可以更新。如,

    删除视图

  • 删除视图语法:
  • DROP VIEW [IF EXISTS] view_name [, view_name] ... [RESTRICT | CASCADE]
    mysql> drop view city_list_view;Query OK, 0 rows affected (0.00 sec)

    查看视图

    -- MySQL5.1后, show tables也会列出视图mysql> show tables;+---------------------+| Tables_in_mysqltest |+---------------------+| blob_test || city || city_list_view1 || city_list_view2 || city_list_view3 |+---------------------+5 rows in set (0.00 sec)-- 模糊查询视图mysql> show table status like 'city_list%' /G
    具体视图相关的细节可参考:

    http://dev.mysql.com/doc/refman/5.7/en/views.html

    不吝指正。

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    MySQL管理与优化(8)_MySQL

    MySQL管理与优化(8)_MySQL: 视图 视图是一种虚拟存在的表,对于使用视图的用户来说基本是透明的。 视图相对于普通表的优势: 1. 简单:使用视图的用户完全不需要关心后面对应的表的结构,关联条件和筛选条件,对用户来说已经是 过滤好的符合条件的结果集。 2. 安全:
    推荐度:
    标签: 管理 mysql 优化
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top