设为首页 加入收藏

TOP

MySQL中的视图使用详解
2018-03-15 08:55:08 】 浏览:102
Tags:MySQL 使用 详解

视图是虚拟的表,它不包含表中应该有的任何列或数据,它包含的是一个SQL查询。

视图使用常见的规则和限制

与表一样,视图命名必须唯一(不能取名和已有视图或表相同)视图可以嵌套,可以利用从其他视图中检索数据的查询来构造一个视图ORDER BY 可以用在视图中,但如果从该视图检索数据SELECT也包含ORDER BY,那么该视图中的ORDER BY 将会被覆盖视图不能索引,也不能有关联的触发器或默认值视图可以和表一起使用

使用视图

视图用CREATE VIEW来创建使用SHOW CREATE VIEW viewname;来查看创建视图的语句用DROP VIEW viewname来删除视图更新视图时,可以先用DROP再用CREATE也可以直接用CREATE OR REPLACE VIEW

mysql> CREATE VIEW vendorlocations AS
    -> SELECT Concat(Rtrim(vend_name),'(',Rtrim(vend_country),')')
    -> FROM vendors
    -> ORDER BY vend_name;

之后的查询要用到视图中的数据的时候,可以把视图当作一个表来使用

mysql> SELECT * FROM vendorlocations;
+------------------------------------------------------+
| Concat(RTrim(vend_name),'(',RTrim(vend_country),')') |
+------------------------------------------------------+
| ACME(USA)                                            |
| Anvils R Us(USA)                                     |
| Furball Inc.(USA)                                    |
| Jet Set(England)                                     |
| Jouets Et Ours(France)                               |
| LT Supplies(USA)                                     |
+------------------------------------------------------+

更新视图

如果你对视图增加或删除行,实际上是对其基表增加或删除行。但是并非所有的视图都是可以更新的,,如果不能正确地确定被更新的基数据,则不允许更新(包括插入和删除)。

如果视图中有一下操作,则不能更新

分组联结子查询并聚集函数DISTANCT导出(计算)列

这看上去是个很大的缺点,但是,视图的主要作用用于检索数据。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java数据库的连接及操作教程 下一篇postgresql控制命令执行时长state..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目