Dedecms教程:MYSQL数据库批量快速修改表前缀与表名

[复制链接]
发表于 2015-3-24 04:12:34 | 显示全部楼层 |阅读模式
dede中mysql数据库中我们修改表表就是做了rename来修改了,但是rename只能一次修改一个表的名字并不能批量处理,如果要批量处理我们需要使用遍历来操作,下面我来介绍一下mysql量修改表前缀与表名方法。
         
        使用sql语句修改dede的mysql数据库表前缀名:
         
        1.请看下面的介绍步骤
         
        Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' )
        FROM information_schema.tables
        Where table_name LIKE 'hx_%';
        注意: like ‘hx_%’ 其中 hx_是你需要替换的表前缀.
         
        放在sql执行器里面执行,会把所有hx_前缀的表全部列出来。这个时候导出txt,删除不相关的语句,留 alter table就可以,然后批量替换 RENAME TO hx 成 RENAME TO 你想要的表前缀;然后在sql执行器执行。
         
        2.织梦dede的data目录中的$cfg_dbprefix = '改为现在的表前缀_';
         
        重新登录后台看看。
        如果是通过备份还原文件,也是可以,就是麻烦些,备份后,下回来backdata文件夹里所有文件,把所有文件打开,替换里面表前缀,然后所有带有表前缀的文件名也改为新的表前缀,再上传dede中备份还原,记得上传前,先把空间里原来备份删除。
         
         
        如果是要批量删除所有带有hx_表,可以用以下方式,消火栓箱同样先到phpmyadmin中的mysql执行器,输入以下sql语句Select CONCAT( 'drop table ', table_name, ';' )
        FROM information_schema.tables
        Where table_name LIKE 'hx_%';
         
        说明: like ‘hx_%’ 其中 hx_是你需要替换的表前缀.
        执行查询,会自动生成出 drop table table_name这样的SQL语句.
        然后复制 drop语句 可以执行删除的操作了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|资源库论坛 ( 闽ICP备14020703号-1 )

GMT+8, 2018-10-19 00:21

快速回复 返回顶部 返回列表