多个网站共用一个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语句生成的页面上点击“导出”,选择“自定义”->“直接显示为文本”,导出txt格式就可以了
3. 执行导出功能后,到达结果窗口如下,复制文本框中的内容 ------- 这里由于版本不同或许需要先处理一下
4. 执行txt里的alert语句
导出的alert语句类似于
ALTER TABLE v9_admin RENAME TO yanglao_admin;