数据库:toolnb 原前缀:toolnb 新前缀:tool
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. SUBSTRING截取长度自动根据原前缀长度计算,无需手动修改数字;
3. 仅匹配以原前缀开头的数据表,不会修改其他无关表;
4. MySQL账号需要拥有information_schema读取权限、ALTER修改表权限;
5. 生成的SELECT语句仅输出修改脚本,不会直接修改库表,需要手动执行结果。