MySQL批量表名前缀替换工具

生成SQL语句
复制成功!

一、工具功能说明

  • 自动生成MySQL批量修改数据表前缀的查询SQL;
  • 根据数据库名、原表前缀、目标新前缀拼接information_schema查询语句;
  • 查询结果输出多条ALTER TABLE重命名语句,一键复制到Navicat/DBeaver执行;
  • 纯前端生成文本,无数据库连接,仅生成SQL脚本,安全无风险;
  • 适用于项目迁移、统一表前缀、拆分多租户数据库场景。

二、使用实例(截图默认参数)

输入参数

数据库:toolnb
原前缀:toolnb
新前缀:tool

工具生成完整SQL

SELECT
  CONCAT('ALTER TABLE `', table_name, '` RENAME TO `tool', SUBSTRING(table_name, LENGTH('toolnb')+1), '`;')
FROM
  information_schema.TABLES
WHERE
  table_schema = 'toolnb' #数据库
  AND table_name LIKE 'toolnb%' #筛选前缀进行替换

执行查询后输出示例(可批量执行)

ALTER TABLE `toolnb_user` RENAME TO `tool_user`;
ALTER TABLE `toolnb_order` RENAME TO `tool_order`;
ALTER TABLE `toolnb_log` RENAME TO `tool_log`;

三、操作步骤

  1. 填写目标数据库名称、原有表前缀、想要替换的新前缀;
  2. 点击蓝色【执行】按钮,下方文本框自动生成查询SQL;
  3. 点击【复制全部SQL】复制语句,粘贴到MySQL客户端执行;
  4. 执行查询,会批量输出所有表的RENAME语句,全部复制批量运行完成前缀替换。

四、重要注意事项

1. 操作前务必备份数据表,避免改名出错丢失数据;

2. SUBSTRING截取长度自动根据原前缀长度计算,无需手动修改数字;

3. 仅匹配以原前缀开头的数据表,不会修改其他无关表;

4. MySQL账号需要拥有information_schema读取权限、ALTER修改表权限;

5. 生成的SELECT语句仅输出修改脚本,不会直接修改库表,需要手动执行结果。

五、应用场景

  • 项目重构,统一数据表前缀;
  • 多租户数据库拆分,修改区分前缀;
  • 第三方系统迁移,同步表名规范;
  • 合并多个库,标准化数据表命名。