本方法通过命令的方式实现修改表前缀。
假设有数据库 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;
批量执行上面的语句,就完成了批量修改表前缀。