MySQL DROP VIEW

时间:2019-11-20 08:52:14  来源:igfitidea点击:

简介:在本教程中,您将学习如何使用MySQL DROP VIEW语句从数据库中删除视图。

MySQL DROP VIEW语句简介

DROP VIEW语句从数据库中删除视图。
这是DROP VIEW语句的基本语法:

DROP VIEW [IF EXISTS] view_name;

使用这种语法,可以在DROP VIEW关键字之后指定要删除的视图的名称。

IF EXISTS选项只有在该视图存在时才有条件地删除该视图。

要一次删除多个视图,可以使用以下语法:

DROP VIEW [IF EXISTS] view_name1 [,view_name2]...;

使用这种语法,如果在DROP VIEW子句之后指定的任何视图都不存在,则DROP VIEW语句将失败并且不会删除任何视图。

如果使用IF EXISTS选项,但有些视图不存在,则DROP VIEW语句会为每个不存在的视图生成一个NOTE。

请注意,在MySQL 5.7或更早版本中,如果不存在任何视图,则DROP VIEW返回错误。
但是,它删除了现有的视图。

MySQL DROP VIEW语句示例

让我们举一些使用DROP VIEW语句的示例。

1)MySQL DROP VIEW –删除一个视图示例

该语句根据客户表和付款表创建一个名为customerPayments的视图:

CREATE VIEW customerPayments 
AS
    SELECT 
        customerName, 
        SUM(amount) payment
    FROM
        customers
    INNER JOIN payments 
        USING (customerNumber)
    GROUP BY 
        customerName;

本示例使用DROP VIEW语句删除customerPayments视图:

DROP VIEW IF EXISTS customerPayments;

2)MySQL DROP VIEW –删除多个视图示例

该语句基于employee和offices表创建一个名为employeeOffices的视图:

CREATE VIEW employeeOffices AS
    SELECT 
        firstName, lastName, addressLine1, city
    FROM
        employees
            INNER JOIN
        offices USING (officeCode);

以下语句使用DROP VIEW语句删除两个视图employeeOffices和eOffices:

DROP VIEW employeeOffices, eOffices;

MySQL发出以下错误:

Error Code: 1051. Unknown table 'classicmodels.eoffices'

让我们添加IF EXISTS选项:

DROP VIEW IF EXISTS employeeOffices, eOffices;

MySQL发出警告:

1 warning(s): 1051 Unknown table 'classicmodels.eoffices'

employeeOffices视图保持不变。

该语句基于product和productLines表创建一个名为productCatalogs的新视图:

CREATE VIEW productCatalogs AS
    SELECT 
        productLine, productName, msrp
    FROM
        products
            INNER JOIN
        productLines USING (productLine);

以下示例使用DROP VIEW语句删除employeeOffices和productCatalogs视图:

DROP VIEW employeeOffices, productCatalogs;

现在,两个视图都已成功删除。

在本教程中,您学习了如何使用MySQL DROP VIEW语句从数据库中删除一个或多个视图。