任何人都可以建议我从数据库中删除多个表的查询。像.......
Drop table不像'prefix%';
请建议我做正确的查询??
答案 0 :(得分:2)
只使用一个MySQL命令就无法做到这一点,但是您可以使用MySQL为您构建语句:
在MySQL shell中或通过PHPMyAdmin,使用以下查询
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )
AS statement FROM information_schema.tables
WHERE table_name LIKE 'myprefix_%';
这将生成一个DROP语句,您可以复制并执行以删除表。
编辑:此处的免责声明 - 上面生成的语句将删除具有该前缀的所有数据库中的所有表。如果要将其限制为特定数据库,请将查询修改为如下所示,并将database_name替换为您自己的database_name:
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )
AS statement FROM information_schema.tables
WHERE table_schema = 'database_name' AND table_name LIKE 'myprefix_%';