本方法通过命令的方式实现修改表前缀。
假设有数据库 shop
,原本表前缀位sp_
,现在要全部改成shop_
。
需要两个步骤:
第一步 生成替换命令
SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO shop_', substring(table_name, 4),';') FROM information_schema.tables where table_schema='shop' and table_name LIKE 'sp_%';
其中,
- 4:表示从
sp_
后面字符开始; table_schema
:指定数据库名称;
第二步 批量替换
第一步的命令执行完成后,会生成替换表名的命令,如:
ALTER TABLE sp_users RENAME TO shop_users; ALTER TABLE sp_orders RENAME TO shop_orders; ALTER TABLE sp_comments RENAME TO shop_comments;
批量执行上面的语句,就完成了批量修改表前缀。
参考资料: