MySQL/mariadb知识点——视图管理语句
视图的概念
视图是从已经存在表的全部字段或数据中,挑出一部分字段或数据;组成一张“并不存在的表”,这张虚表被称之为视图,视图中的字段与数据均来自已经存在的表。
视图:VIEW,虚表,保存有实表的查询结果,实际数据不保存在磁盘
物化视图:实际数据在磁盘中有保存,加快访问,MySQL不支持物化视图
基表:视图依赖的表
视图中的数据事实上存储于“基表”中,因此,其修改操作也会针对基表实现。其修改操作受基表限制。
注意:修改视图时是修改的原表
视图的创建
使用如下语句进行创建视图
CREATE VIEW view_name AS select_statement
示例:
MariaDB [testdb]> CREATE VIEW v_students AS SELECT id,name,ages FROM students; MariaDB [testdb]> SELECT * FROM v_students; +----+---------------+------+ | id | name | ages | +----+---------------+------+ | 1 | tom | 26 | | 2 | jerry | 19 | | 3 | maria | 19 | | 4 | xiaolongnv | 18 | | 5 | dongfangbubai | 28 | | 6 | ouyangfeng | 56 | +----+---------------+------+
查看视图定义
使用如下语句
SHOW CREATE VIEW view_name
示例
MariaDB [testdb]> SHOW CREATE VIEW v_students\G View: v_students Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_students` AS select `students`.`id` AS `id`,`students`.`name` AS `name`,`students`.`ages` AS `ages` from `students`
MariaDB [testdb]> SHOW TABLE STATUS LIKE 'v_students'\G Name: v_students Comment: VIEW #判断一个表是否是视图
删除视图
使用如下语句
DROP VIEW [IF EXISTS] view_name [, view_name] ...
示例
MariaDB [testdb]> DROP VIEW v_students;