日期:2014-05-16  浏览次数:20651 次

如何删除多个前缀相同的数据库?
比如我有数据库mydb0001,mydb0002,mydb0003等。
想同时删除mydb开头的所有数据库。
请问如何处理啊?

------解决方案--------------------
这个很好解决的,可以解决SQL语句生成DROP DATABASE 语句,例如:

SELECT CONCAT('DROP DATABASE ',Db,';') FROM mysql.db 



推荐:
淘宝和阿里巴巴去Oracle化事件 引发数据库技术人员大讨论

WebGame行业案例:in子查询group by引发的“血案”
------解决方案--------------------
在information_schema库 用concat 拼接drop database语句 然后粘贴拼接好的sql语句执行就可以了
------解决方案--------------------
如果是一次性操作,则可以 show databases like 'mydb%' 列出所有的数据库名,然后复制到EXCEL中,利用EXCEL公式生成 drop databaes mydb0001, 再一次性复制到命令行工具中执行即可。

如果是程序中,则可以按相同思路,show database 得到所有数据库名,然后用代码实现字符串的拼接。然后执行。
------解决方案--------------------
你可以将这些表名存到一个数据表中,要删除的时候,从这个数据表中select出要删除的表名,然后组成多个
Drop table 语句,依次删除表