zoukankan      html  css  js  c++  java
  • mysql之对视图的操作

    1. 为什么要使用视图?

    为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库中以储存的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。

    视图使开发者只关心感兴趣的某些特定数据和所负责的特定任务,只能看到视图中所定义的数据,而不是视图所引用表中的数据,从而提高了数据库中数据的安全性。

    视图的特点如下:

    (1). 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。

    (2). 视图是由基本表(实表)产生的表(虚表)。

    (3). 视图的建立和删除不影响基本表。

    (4). 对视图内容的更新(添加,删除和修改)直接影响基本表。

    (5). 当视图来自多个基本表时,不允许添加和删除数据。

    视图的操作包括创建视图,查看视图,删除视图和修改视图。

    2. 创建视图

    CREATE VIEW view_name AS 查询语句;

    实例如下:

    CREATE VIEW view_name AS SELECT * FROM t_dept;

    3. 查看视图

    3.1. SHOW TABLES语句查看视图名

    SHOW TABLES不仅会显示表的名字,同时也会显示视图的名字。

    3.2. SHOW TABLE STATUS语句查看视图详细信息

    SHOW TABLE STATUS FROMfrom db_name】【LIKE 'pattern'

    SHOW TABLE STATUS不仅会显示表的详细信息,同时也会显示视图的详细信息。

    3.3. SHOW CREATE VIEW语句查看视图定义信息

    SHOW CREATE VIEW view_dept

    3.4 DESCRIBE | DESC语句查看视图设计信息

    DESCRIBE | DESC viewname

    3.5 通过系统表查看视图信息

    当Mysql数据库安装成功后,会自动创建系统数据库information_schema。在该数据库中存在一个包含视图信息的表格views,可以通过查看表格views来查看所有视图的相关信息。

    4. 删除视图

    DROP VIEW view_name 【,view_name】;DROP VIEW

    通过DROP VIEW语句可以一次删除一个或多个视图。

    实例:

    DROP VIEW view_dept;

    5. 修改视图

    5.1 CREATE OR REPLACE VIEW语句修改视图

    CREATE OR REPLACE VIEW view_name AS 查询语句;

    5.2 ALTER语句修改视图

    ALTER VIEW viewname AS 查询语句;

    6. 利用视图操作基本表

    6.1 检索(查询)数据

    SELECT * FROM view_name;

    6.2 利用视图操作基本表数据

    由于视图是"虚表",所以对视图数据进行的更新操作,实际上是对其基本表数据进行更新操作。在具体更新视图数据时,需要注意以下两点:

    (1). 对视图数据进行添加,删除,更新操作直接影响基本表。

    (2). 当视图来自多个基本表时,不允许添加和删除数据。

    添加数据操作:

    和向表里添加数据相同。

    删除数据操作:

    和向表里删除数据相同。

    更新数据操作:

    和向表里更新数据相同。

  • 相关阅读:
    vue
    生成数组方式
    绕过CDN查找真实IP方法
    SQL注入WAF绕过
    缓冲区溢出的保护机制
    Redis未授权漏洞
    AFL 漏洞挖掘
    python多线程与多进程
    Java8四大核心接口示例
    @Autowired抱空指针异常解决方案
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4623011.html
Copyright © 2011-2022 走看看