重命名MySQL中所有表名的一部分

时间:2019-04-12 20:16:06

标签: mysql sql

我目前正在寻找一种方法来重命名数据库中的所有表。但是我不想重命名为整个表名(您可能会发现很多关于在SO上重命名整个表名的问题)。因此,在我的情况下,我在每个表名之前都有一个前缀wp_,我将用tnd_代替。

那么有什么聪明的方法可以做到这一点吗?因为我有大约200多个表,所以我不想手动更改每个表名。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为它会起作用:

SELECT Concat('ALTER TABLE `', TABLE_NAME, '` RENAME TO `dr_', TABLE_NAME, '`;') 
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '<name of your db>';

参考:How to add prefix of all tables in mysql

如果您使用PHP admin,还可以检查:Rename and add prefix to all tables with phpMyAdmin