假设有数据库 shop
,原本表前缀为sp_
,现在要全部改成shop_
。第一时间想到的办法是批量替换数据库导出 .sql
中的 sp_
至 shop_
,但是这种方法并不安全,一旦数据库中有其他的 sp_ 字样也会被一同替换的。下面介绍两种 MySQL 批量修改表前缀的方法。
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_%';
sp_
后面字符开始,这个数值要根据要替换的前缀长度改变,substring 函数是从 1 开始的;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;
批量执行上面的语句,就完成了批量修改表前缀。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。