DEV*_*OPS 12 mysql database views
我需要从我的mysql数据库中删除所有视图.我怎么能用查询呢?
有人可以帮我吗?
Ste*_*las 18
我一直在用这个:
/* DROP ALL VIEWS */
SET @views = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @views
FROM information_schema.views
WHERE table_schema = @database_name; -- Your DB name here
SET @views = IFNULL(CONCAT('DROP VIEW ', @views), 'SELECT "No Views"');
PREPARE stmt FROM @views;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Run Code Online (Sandbox Code Playgroud)
引用MySQL参考手册:
DROP VIEW [IF EXISTS]
view_name [, view_name] ...
[RESTRICT | CASCADE]
Run Code Online (Sandbox Code Playgroud)
DROP VIEW删除一个或多个视图.您必须拥有DROP每个视图的权限.如果参数列表中指定的任何视图不存在,MySQL将返回一个错误,指出它无法删除哪些不存在的视图,但它也会丢弃列表中存在的所有视图.
该IF EXISTS子句可防止对不存在的视图发生错误.给出此子句时,NOTE将为每个不存在的视图生成a .请参见第12.7.5.41节"显示警告语法".
RESTRICT并且CASCADE,如果给定,则被解析并被忽略.
| 归档时间: |
|
| 查看次数: |
15860 次 |
| 最近记录: |