mysql 批量替换表前缀_如何批量修改mysql的表前缀名称

mysql数据库表前缀,这个是我们区分其它表的一个方式,当我们同一个数据库中含有多个系统的的时候,表前缀就却分的唯一标识。我们使用php开 源程序安装建站的时候,一般数据库表前缀都是默认设置好的,如:wordpress的默认数据库表前缀是wp_,echosp的默认数据库表前缀是 ecs_,discuz的默认数据库表前缀是pre_,织梦内容管理系统(dede)的默认数据库表前缀是dede_。在其官方安装教程中或开源系统安全 安装方法中,都建议在安装的时候,建议修改这个天下人皆知的默认表前缀。如果您不留神,已经使用了默认的表前缀怎么办?有办法改吗?无忧主机小编,今天就用ecshop网店开源系统演示,如何修改ecshop的mysql数据库表前缀名。

方法一:使用sql语句修改mysql数据库表前缀名

首先我们想到的就是用sql查询语句来修改,这个方法也很方便,只需进入无忧主机控制面板——phpmyadmin登入后,在运行 SQL 查询框中输入如下语名就可以了。

ALTER TABLE 原表名 RENAME TO 新表名;

如:

ALTER TABLE old_post RENAME TO new_post;

Sql查询语句有一个缺点,那就是一句SQL语句只能修改一张数据库的表名,如果你要精确修改某一张表,很好用。如果数据库表很多的话,不推荐使用。有木有,批量修改多个数据库表前缀名称的方法类?有的,请看下面的介绍

方法二:php脚本批量修改mysql数据库表前缀

下面无忧主机(www.51php.com)小编收集的一个快速批量的修改数据表前缀的方法,小编已经测试,成功修改。如果你需要,请参考借鉴如下:

1、将下面的代码复制到记事本,根据自己人情况修改好数据库信息,并保存了51php.php。再上传您网站的根目录。您可以直接下载mysql数据库前缀名批量修改脚步:修改mysql数据库表前缀名。

//设置好相关信息

$dbserver='localhost';//连接的服务器一般为localhost

$dbname='y8n9nghmze_shop';//数据库名

$dbuser='y8n9nghmze_user';//数据库用户名

$dbpassword='admin';//数据库密码

$old_prefix='ecs_';//数据库的前缀

$new_prefix='51php_';//数据库的前缀修改为

if(

!is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) )

{

returnfalse;

}

if(!mysql_connect($dbserver,

$dbuser,$dbpassword)) {

print 'Could not connect to mysql';

exit;

}

//取得数据库内所有的表名

$result=

mysql_list_tables($dbname);

if(!$result) {

print "DB Error, could not

list tables\n";

print 'MySQL Error: '.

mysql_error();

exit;

}

//把表名存进$data

while($row=

mysql_fetch_row($result)) {

$data[] =$row[0];

}

//过滤要修改前缀的表名

foreach($dataas$k=>$v)

{

$preg= preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i",

$v,$v1);

if($preg)

{

$tab_name[$k] =

$v1[2];

//$tab_name[$k]

= str_replace($old_prefix,'',$v);

}

}

if($preg)

{

//        echo '

';

//        print_r($tab_name);

//        exit();

//批量重命名

foreach($tab_nameas$k=>

$v)

{

$sql= 'RENAME TABLE

`'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`';

mysql_query($sql);

}

print  数据表前缀:.$old_prefix."
".已经修改为:.$new_prefix."
";

}

else

{ print 您的数据库表的前缀.$old_prefix.输入错误。请检查相关的数据库表的前缀;

if( mysql_free_result($result) ) {

returntrue;

}

}

?>

在浏览器输入访问您的网址/51php.php.数据库表的前缀就可以修改成功了。

本文地址:http://www.51php.com/mysql/7967.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值