🧑💻作者名称:DaenCode
🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:重温MySQL
相信很多MySQL初学者对于其中视图的认知还是很模糊,然而MySQL视图的重要性不言而喻。无论是在学校考试还是在企业面试中,都或多或少以此来对大家进行考核。那么本篇博文主要帮助MySQL初学者,更好的学习MySQL视图相关知识。
视图(view)是一种虚拟表,或者也可以叫它逻辑表。它不包含任何数据,是由select语句动态生成的。
举例:公司现在开发项目主要是以Java语言为主,然而为了满足甲方爸爸需求不得不在Java语言小组中筛选出会C语言的开发者(通过select语句查询)成立一个C语言项目小组。
这个C语言项目小组(视图、虚拟或临时表)就是从Java语言项目小组(基表、真实存在的表)中查询成立出来的。
语法:
CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE condition;
view_name:视图名称
column:列名称
table_name:基表名称
condition:查询条件
例1:创建单表视图,名为"employee_view",显示符合条件的员工姓名和工资大于10000的相关信息。
CREATE VIEW employee_view AS SELECT employee_name, salary FROM employee WHERE salary > 10000;
例2:创建多表视图,名为"employeeDept_view",显示员工名称、部门名称。
CREATE VIEW employeeDept_view AS SELECT e.employee_name, d.dept_name, FROM employee e JOIN dept d ON e.employee_id = d.dept_id;
语法:
DROP VIEW view_name;
view_name:视图名称
例:删除employee_view视图。
DROP VIEW employee_view;
注意:删除视图定义并不会影响到基表的数据。
语法:
alter view view_name as select_statement;
view_name:视图名称
select_statement:查询语句
例:修改名为"employee_view"的视图,将查询条件修改为只显示工资大于20000的员工信息。
ALTER VIEW employee_view AS SELECT employee_name, salary FROM employee WHERE salary > 20000;
为了方便大家查看语法,我总结成以下表格
操作 | 语法 |
---|---|
创建视图 | CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; |
修改视图 | ALTER VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; |
删除视图 | DROP VIEW view_name; |
感谢大家对于本博文的阅读,对于MySQL视图仍有其他疑问或者有知识补充及改进的,请大家在评论区留言,非常感谢大家!