删除用户创建的所有表

时间:2013-09-03 18:10:40

标签: mysql

是否可以删除特定用户创建的所有表格?至少,我如何删除我创建的所有表?

3 个答案:

答案 0 :(得分:1)

似乎没有办法检测哪个用户在MySQL中创建了一个表,因此您将无法根据创建者删除表。

你能得到的最接近的是希望在创建表时,还会创建一个包含用户名的注释。您可以通过以下方式获取表格的评论:

select table_name from INFORMATION_SCHEMA.TABLES where table_comment like '%name%'

答案 1 :(得分:0)

使用命令DROP:

DROP TABLE Table_name    

答案 2 :(得分:0)

您可以创建预准备语句 -

SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables FROM information_schema.tables 
WHERE table_schema = 'myDatabase' AND table_name LIKE BINARY 'del%';

SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt1 FROM @tables;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;

它将生成并执行这样的语句 -

DROP TABLE myDatabase.del1, myDatabase.del2, myDatabase.del3;