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;

  

posted @ 2018-06-20 20:31  Gmiao  阅读(585)  评论(0编辑  收藏  举报