MySQL24 - 视图

视图 View

使用简单、数据安全、数据独立
= 将SELECT语句封装

视图(View)是虚拟存在的表,并不在数据库中真实存在,在使用视图时动态生成

视图只保存查询的 SQL 逻辑,不保存查询的结果


创建视图

CREATE [OR REPLACE] VIEW view_name(列名列表) AS SELECT ... [WITH [CASCADED | LOCAL] CHECK OPTION];

查询视图

= 查询表,因为视图是虚拟存在的表

SHOW CREATE VIEW view_name;
SELECT * FROM view_name [WHERE ...];

修改视图

方法一:重新创建或替换

  • CREATE [OR REPLACE] VIEW view_name(列名列表) AS SELECT ... [WITH [CASCADED | LOCAL] CHECK OPTION];
    

方法二:修改视图

  • ALTER VIEW view_name[(列名列表)] AS SELECT ... [WITH [CASCADED | LOCAL] CHECK OPTION];
    

删除视图

DROP VIEW [IF EXISTS] view_name [,view_name2, ...] ...

WITH [CASCADED | LOCAL] CHECK OPTION

  • 在进行DML操作时检查数据,只有符合视图(存储SQL逻辑)的SQL语句才能插入、更新、删除数据

  • CASCADED 的视图(默认为CASCADED ),不仅检查SQL语句是否满足自身条件,而且会检查SQL语句是否满足关联\依赖的其他视图的条件,关联的其他视图就是在创建该视图时使用到的其他视图

  • LOCAL 的视图a,也会检查自身条件和依赖的其他视图b的条件,但其他视图b必须有 WITH [CASCADED | LOCAL] CHECK OPTION 才会被检查,如果视图b没有则不检查,也不再检查视图b依赖的其他视图


视图的更新

视图含有以下任意一项为不可更新情况:

  • 聚合函数或窗口函数( SUM()、MIN()、MAX()、COUNT() )
  • DISTINCT
  • GROUP BY
  • HAVING
  • UNION 或 UNION ALL

视图可以更新的必要条件:视图中的行与基础表中的行之间必须存在一对一的关系


DBA常用命令

  • 创建新用户

    • CREATE USER user_name IDENTIFIED BY 'password';
      
  • 给用户授权 GRANT

重点掌握数据的导出与导入

  • 数据导出
    • 在 windows的 dos命令窗口中执 行: mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p123
  • 数据导入
    • 登录 MYSQL数据库管理系统之后执行:source D:\bjpowernode.sql
posted @   LaViez  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示