多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的批量修改数据库中表前缀的方法,适用于修改数据库中相同前缀且数据表较多的情况。
此例中假定修改名为“www_sdck_cn”的数据库中前缀为“phpcms_”的表,并将所有符合条件表的前缀修改为“sdck_”。
1、用phpMyAdmin打开要修改前缀的数据库www_sdck_cn,执行以下SQL语句(其中加粗斜体字是需要根据实际需求替换的):
Select CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', replace(table_name,'phpcms_','sdck_'),';')
from information_schema.tables
where TABLE_SCHEMA = 'www_sdck_cn' and table_name LIKE 'phpcms_%';
2、在执行SQL语句生成的页面上点击“导出”,选择“自定义”->“直接显示为文本”,CSV格式,清空“内容分隔符”为空
3、执行导出功能后,到达结果窗口如下,复制文本框中的内容
4、进入数据库“www_sdck_cn”的SQL执行窗口,将代码粘贴到SQL文本框中,执行。看一下相关数据表是不是已经修改完成了。
注意事项
数据操作有风险,请在操作前备份数据。
由于软件版本等原因,操作仅供参考,因本文修改数据库导致丢失或出错的,本文作者不承担责任。