8.6删除视图
删除视图是指删除数据库中己存在的视图。删除视图时,只能删除视图的定义,不会删除数据。MySQL中, 使用DROP VIEW语句来删除视图。但是,用户必须拥有DROP权限。本节将详细讲解删除视图的方法。
对需要删除的视图,使用DROP VIEW语句进行删除。基本形式如下:
DROP VIEW [IF EXISTS]视图名列表[RESTRICT|CASCADE]
其中IF EXISTS参数指判断视图存在,如果存在则执行,不存在则不执行;“视图 名列表”参数表示要删除的视图的名称的列表,各个视图名称之间用逗号隔开。
【示例8-19】下面将删除视图worker_view1。代码如下:
DROP VIEW IF EXISTS worker_view1 ;
执行结果显示,视图删除成功。为了验证视图是否确实已经删除,执行SHOW CREATE VIEW语句查看。执行结果如下:
结果显示,视图worker__viewl已经不存在了。这说明DROP VIEW评语句删除视图成功。
【示例8-20】下面将同时删除department_view1和department_view2这两个视图。代码如下:
DROP VIEW IF EXISTS department_view1, department_view2;
执行结果显示,这两个视图己经删除成功。为了确保这两个视图已经删除,执行SHOW CREATE VIEW语句查看。
结果显示,department_viewl和department_view2这两个视图己经不存在了。该示例说明,DROP语句可以同时删除多个视图。 用户必须拥有DROP权限才可以删除视图。MySQL中,MySQL数据库下的user表中可以查询到是否存在DROP权限。查看DROP权限的语句如下:
SELECT Drop_priv FROM mysql.user WHERE user='用户名';
其中"Drop_priv"属性表示用户是否具有DROP权限,Y表示拥有DROP权限,N表示没有;“用户名”参数表示要查询哪个用户是否拥有DROP权限,该参数需要单引号引起来。因为该数据库系统中只有root用户,所以查询出来的结果只有root用户的权限。 该语句的执行结果如下: