1、使用视图【将视图用于检索SELECT 而不用于更新INSERT,UPDATE和DELETE】

视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询。视图提供了一种MySQL的SELECT语句层次的封装,可用来简化数据处理以及重新格式化基础数据或保护基础数据。【视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包括数据,因此它们返回的数据是从其他表中检索出来的。在添加或更改这些表中的数据时,视图将返回改变过的数据】

1.1 使用视图的原因

  1. 重用sql语句,简化复杂的sql操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节
  2. 使用表的组成部分而不是整个表
  3. 保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限
  4. 更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。

1.2 使用视图【利用视图简化复杂的联结】

1. 视图用CREATE VIEW 语句来创建

mysql视图操作 mysql使用视图_数据

2. 更新视图时,可以先用DROP再用CREATE,也可以直接用CREATE OR REPLACE VIEW。如果要更新的视图不存在,则第2条更新语句会创建一个视图;如果要更新的视图存在,则第二条更新语句会替换原有视图

mysql视图操作 mysql使用视图_数据_02

3. 使用SHOW CREATE VIEW viewname:查看创建视图的语句

mysql视图操作 mysql使用视图_MySQL_03

4. 用DROP删除视图,其语法为DROP VIEW viewname;

mysql视图操作 mysql使用视图_mysql_04

5. 使用视图进行查询,语法 SELECT 列名 FORM viewname

mysql视图操作 mysql使用视图_mysql_05

1.3 用视图重新格式化检索出的数据

mysql视图操作 mysql使用视图_mysql视图操作_06

1.4 用视图过滤不想要的数据

mysql视图操作 mysql使用视图_mysql_07

1.5 使用视图与计算字段

1.6 更新视图

通常,视图是可更新的(即,可以对它们使用INSERT、UPDATE和DELETE)。更新一个视图将更新其基表(可以回忆一下,视图本身没有数据)。如果你对视图增加或删除行,实际上是对其基表增加或删除行。但是,并非所有视图都是可更新的。基本上可以说,如果MySQL不能正确地确定被更新的基数据,则不允许更新(包括插入和删除)

1.7 查询数据库中所有的视图

mysql视图操作 mysql使用视图_数据_08