MySQL重命名视图

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

简介:在本教程中,您将学习如何使用RENAME TABLE语句或一系列DROP VIEW和CREATE VIEW语句在MySQL中重命名视图。

由于视图和表共享相同的名称空间,因此可以使用RENAME TABLE语句更改视图的名称。

这是用于重命名视图的RENAME TABLE的基本语法:

RENAME TABLE original_view_name 
TO new_view_name;

使用以下语法:

  • 首先,在RENAME TABLE关键字之后指定要重命名的视图的名称。

  • 然后,在TO关键字之后指定视图的新名称。

请注意,您不能使用RENAME TABLE语句将视图从一个数据库移动到另一个数据库。
尝试这样做将导致错误。

重命名视图的另一种间接方法是使用DROP VIEW和CREATE VIEW语句的序列。

  • 首先,使用SHOW CREATE VIEW语句复制视图的DDL。

  • 其次,使用DROP VIEW语句删除视图。

  • 最后,使用您从第1步复制的DDL创建一个要重命名为新名称的视图。

通过使用一系列DROP和CREATE VIEW语句,可以将视图从一个数据库移动到另一个数据库。

MySQL重命名视图示例

让我们举一些重命名视图的例子。

1)使用RENAME TABLE语句示例重命名视图

首先,为演示创建一个名为productLineSales的新视图:

CREATE VIEW productLineSales AS
SELECT 
    productLine, 
    SUM(quantityOrdered) totalQtyOrdered
FROM
    productLines
        INNER JOIN
    products USING (productLine)
        INNER JOIN
    orderdetails USING (productCode)
GROUP BY productLine;

其次,将视图productLineSales重命名为productLineQtySales:

RENAME TABLE productLineSales 
TO productLineQtySales;

第三,使用SHOW FULL TABLES检查视图是否已成功重命名:

SHOW FULL TABLES WHERE table_type = 'VIEW';

2)使用DROP VIEW和CREATE VIEW序列示例重命名视图

假设您要将视图productLineQtySales的名称更改为categorySales。

首先,使用SHOW CREATE VIEW获取视图的DDL:

SHOW CREATE VIEW productLineQtySales;

这是输出:

您复制在CreateView列中显示的DDL。

其次,删除视图productLineQtySales:

DROP VIEW productLineQtySales;

第三,在DDL中更改视图的名称并执行它:

CREATE VIEW categorySales AS
SELECT 
    productLine, 
    SUM(quantityOrdered) totalQtyOrdered
FROM
    productLines
        INNER JOIN
    products USING (productLine)
        INNER JOIN
    orderDetails USING (productCode)
GROUP BY productLine;

在本教程中,您学习了如何通过使用RENAME TABLE语句在MySQL中重命名视图。