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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析