MySQL视图

Posted 手里有糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL视图相关的知识,希望对你有一定的参考价值。

什么是视图

视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。

理解:使用SQL语句获取的结果,是动态获取的,如果SQL语句很复杂,且繁多,那么我们使用的时候,就的反复的写这段语句,视图就是为了简化这个过程的。

说明:

简单的理解,就是将一个SQL语句执行获取的结果当作一张表,并为这张表取个别名,然后通过这个别名使用操作表的方式操作里面的内容。

案例:

SELECT
  *
FROM
  (
    SELECT
      nid,
      NAME
    FROM
      tb1
    WHERE
      nid > 2
  ) AS A
WHERE
  A. NAME > ‘alex‘;

 

视图操作

一、创建视图

格式:

格式:CREATE VIEW 视图名称 AS  SQL语句

案例:

--格式:CREATE VIEW 视图名称 AS  SQL语句
CREATE VIEW v1 AS 
SELET nid, 
    name
FROM
    A
WHERE
    nid > 4

二、删除视图

格式:

格式:DROP VIEW 视图名称

案例:

--格式:DROP VIEW 视图名称

DROP VIEW v1

三、修改视图

格式:

格式:ALTER VIEW 视图名称 AS SQL语句

案例:

-- 格式:ALTER VIEW 视图名称 AS SQL语句

ALTER VIEW v1 AS
SELET A.nid,
    B. NAME
FROM
    A
LEFT JOIN B ON A.id = B.nid
LEFT JOIN C ON A.id = C.nid
WHERE
    A.id > 2
AND C.nid < 5

四、使用视图

select * from v1

注意:

  1. 使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用
  2. 视图不是真实的表,虚拟表,是由真实表操作而产生的。
  3. 一般用于SQL语句重复操作次数比较多的时候。
  4. 我们创建完后,当原表数据改变的时候,创建的时候会动态的获取内容,也会做相应的修改。

以上是关于MySQL视图的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

回收站视图未显示在片段中

如何从片段内的列表视图打开链接网址?

如何使列表视图出现在片段中?

如何从活动中更改片段中视图的可见性

片段中的网格视图