如何从mysql数据库中的每个表名中删除前缀名称

Abb*_*bby 4 mysql sql phpmyadmin

我的所有表名都有一个joomla mysql数据库,表名前缀为"jos_".但是我想把它从我的所有表中删除.我理解如何重命名每个表,一次一个,但我有600个表.是否有一个易于运行的SQL查询来执行此操作.

如果有人有解决方案,你能否发布我可以使用的确切sql查询?

a_h*_*ame 14

您可以使用单个查询生成必要的语句:

select 'RENAME TABLE ' || table_name ||  ' TO ' || substr(table_name, 5) ||';'
from information_schema.tables
Run Code Online (Sandbox Code Playgroud)

将该查询的输出保存到文件中,您就拥有了所需的所有语句.

或者,如果返回0s和1s而不是statemenets,则使用以下版本concat:

select concat('RENAME TABLE ', concat(table_name, concat(' TO ', concat(substr(table_name, 5), ';'))))
from information_schema.tables;
Run Code Online (Sandbox Code Playgroud)


zsd*_*zsd 13

  1. 在phpmyadmin中选择数据库的所有表.
  2. 从下拉菜单中选择'已选中:'选择'替换表前缀'
  3. 设置从 - >到替换.
  4. DONE