MYSQL学习笔记:关于MySQL视图(3)


MySQL学习:


MySQL视图


1.什么是视图?

    MySQL视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。
    视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据,因此它们返回的数据是从其他表中检索出来的。
    在添加或更改这些表中的数据时,视图将返回改变过的数据。


2.为什么使用视图?

  • 重用SQL语句
  • 简化复杂的SQL语句
  • 保护数据
  • 让数据更加清晰

3.使用视图

  • 创建视图

使用CREATE VIEW语句来创建。

CREATE VIEW 视图名[(1,2,3...)]
AS SELECT1,2,3...
FROM 数据表1,数据表2...

eg:

CREATE VIEW 
    productcustomers 
AS SELECT
    cust_name,
    cust_contact,
    prod_id 
FROM
	customers,
	orders,
	orderitems;
  • 删除视图

DROP VIEW 视图名 来删除

DROP VIEW 视图名;
  • 更新视图

使用 CREATE OR REPLACE VIEW 语句。
若要更新的视图不存在,则会创建一个视图;若存在,更新语句会替换原有视图。

CREATE OR REPLACE VIEW 视图名
AS SELECT1,2...
FROM 数据表名;

若想更新数据,可以对它们使用INSERT、UPDATE和DELETE。
但如果视图有如下定义,则不能进行视图更新:

  • 分组(使用GROUP BY和HAVING)
  • 联结
  • 子查询
  • 聚集函数(MIN()、COUNT()、SUM()等)
  • DISTINCT
  • 导出(计算)列
  • 查看视图

查看视图数据就当作查看一般表一样就行了。
查看视图结构DESC 视图名SHOW FIELDS FROM 视图名

SHOW FIELDS FROM 视图名;DESC 视图名;


若有不当之处,欢迎指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章