MySQL 删除不存在的表

标签 mysql

我似乎无法在任何地方找到上述问题的答案。

用于删除我使用的特定表:

DROP TABLE table1, table2;

我想要做的是删除除 table1 和 table2 之外的所有表。但是我不知道查询,谷歌搜索也没有帮助。

例如伪代码:

DROP TABLE IF IT IS NOT table1, table2;

好像问题没有我想象的那么清楚,抱歉我不知道还能怎么解释, 这是代码示例,希望它能解决问题;

foreach (table tb in database)
{
   if (table.Name != "table1" && table.Name != "table2")
   {
       database.DropTable(tb);
   }
}

谢谢

最佳答案

我认为你需要:

SELECT CONCAT('drop table ',table_name,'; ')
FROM information_schema.tables
where table_name like 'table1%'
   and table_schema = 'myDatabase';

Source

关于MySQL 删除不存在的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27891763/

相关文章:

mysql - mariadb 改变表锁策略

mysql - ASP -> SQL 递增值

mysql - 哪个 MYSQL Join 包含不存在的记录

mysql - Docker Passenger Dashboard 显示 MySQL 无法连接到套接字

mysql - 如何禁止自动递增 ID 在重复 key 更新时进行更新?

php - CakePHP 3 - 有条件地为关联表创建新实体

用于两个相同数据库的 Python + MySQLDB 批量插入/更新命令

mysql - 将表中的单个列映射到两个不同表中的两个不同列

mysql - 在一次 SQL 查询中为多行更新多列

php - 将经验值添加到数据库 php