MySQL基础之视图实战篇

导读:本篇文章讲解 MySQL基础之视图实战篇,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

创建视图

基本语法:

CREATE [OR REPLACE][ALGORITHM = {UNDEFINED | MERGE |TEMPTABLE}]
    VIEW view_name [(column_list)]
    AS SELECT_statement
    [WITH[CASCADED | LOCAL] CHECK OPTION]

其中,CREATE 表示创建新的视图,REPLACE表示替换已经创建的视图;ALGORITHM表示视图选择的算法; view_name 为视图的名称,column_list为属性列;SELECT_statement表示SELECT语句; WITH [CASCADED | LOCAL] CHECK OPTION参数表示视图在更新时保证在视图的权限范围之内。

在单表上创建视图

视图是基于表之上的虚拟表,所以必须要先有表。

  • 创建表
CREATE TABLE t(
    id       INT PRIMARY KEY AUTO_INCREMENT,
    quantity INT,
    price    DOUBLE
);
  • 创建视图
CREATE VIEW view_t AS SELECT quantity, price, quantity*price AS total FROM t;

在多表上创建视图

  • 创建表 表1:
CREATE TABLE student(
  id     INT PRIMARY KEY AUTO_INCREMENT,
  number INT,
  name   VARCHAR(20)
);

表2:

CREATE TABLE stutent_info(
  id      INT PRIMARY KEY AUTO_INCREMENT,
  class   VARCHAR(10),
  address VARCHAR(20)
);
  • 创建视图
CREATE VIEW stu_glass(id, name, glass) AS SELECT student.id, student.name, stutent_info.class
FROM student, student_info WHERE student.id=student_info.id;

查看视图

视图创建好了后,可以查看视图的一些信息,如以下几种:

  • 查看视图描述 与表类似 DESC stu_glass;

  • 查看视图定义 SHOW CREATE VIEW stu_glass;

修改视图

当数据库中的基本表某些字段发生变化的时候,可以通过修改视图来保持与基本表的一致性。 在Mysql中可以通过CREATE OR REPLACE VIEW语句和ALTER语句来修改视图。

  • CREATE OR REPLACE VIEW语句 使用改语句时,如果视图已经存在则对视图进行修改,当视图不存在时,就创建视图。
CREATE OR REPLACE VIEW view_t AS SELECT * FROM t;

可通过DESC view_t语句来查看修改后的视图结构。

  • ALTER语句
ALTER VIEW view_t AS SELECT quantity FROM t;

更新视图

更新视图是指通过视图来插入、更新、删除表中的数据,因为视图是一个虚拟表,其中没有数据。 通过视图更新的时候都是转到基本表上进行更新的,如果对视图增加或者删除记录,实际上是对其基本表增加或者删除记录。

  • UPDATE语句
UPDATE view_t SET quantity=5;
  • INSERT语句 在基本表中插入语句,其关联视图也会进行相应改变的。
INSERT INTO t VALUES(2, 2);
SELECT * FROM view_t;
  • DELETE语句 在视图中删除一行数据,其基本表也会进行相应的删除。
DELETE FROM view_t WHERE price=50;
SELECT * FROM t;

删除视图

当视图不再需要时,可以将其删除,删除一个或多个视图可以使用DROP VIEW语句。语法如下:

DROP VIEW [IF EXISTS]
    view_name [, view_name]...
    [RESTRICT | CASCADE]

例如:

DROP VIEW IF EXISTS stu_glass;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2066.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!