首页 > 软件开发 > MYSQL >

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

来源:互联网 2023-03-16 22:38:28 143

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

M3J办公区 - 实用经验教程分享!

M3J办公区 - 实用经验教程分享!

工具/原料

  • 文本工具(Notepad )任意一款文本文档工具都可以,不过最好不要用window自带的文本工具,这个设置会导致乱码。
  • 一款支持PHP的空间带mysql

方法/步骤

  • 1

    用文本工具新建一个文本文件,比如1.php

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

  • 2

    用Notepad 编辑1.php

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

  • 3

    输入以下代码,并按照要求修改好数据库相关信息.M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    ?php

    M3J办公区 - 实用经验教程分享!

    //设置好相关信息

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

    {

    M3J办公区 - 实用经验教程分享!

    return false;

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    if (!mysql_connect($dbserver, $dbuser, $dbpassword)) {

    M3J办公区 - 实用经验教程分享!

    print 'Could not connect to mysql';

    M3J办公区 - 实用经验教程分享!

    exit;

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

    $result = mysql_list_tables($dbname);

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    if (!$result) {

    M3J办公区 - 实用经验教程分享!

    print "DB Error, could not list tables\n";

    M3J办公区 - 实用经验教程分享!

    print 'MySQL Error: ' . mysql_error();

    M3J办公区 - 实用经验教程分享!

    exit;

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

    //把表名存进$data

    M3J办公区 - 实用经验教程分享!

    while ($row = mysql_fetch_row($result)) {

    M3J办公区 - 实用经验教程分享!

    $data[] = $row[0];

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

    foreach($data as $k => $v)

    M3J办公区 - 实用经验教程分享!

    {

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

    if($preg)

    M3J办公区 - 实用经验教程分享!

    {

    M3J办公区 - 实用经验教程分享!

    $tab_name[$k] = $v1[2];

    M3J办公区 - 实用经验教程分享!

    //$tab_name[$k] = str_replace($old_prefix, '', $v);

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

    if($preg)

    M3J办公区 - 实用经验教程分享!

    {

    M3J办公区 - 实用经验教程分享!

    // echo 'pre>';

    M3J办公区 - 实用经验教程分享!

    // print_r($tab_name);

    M3J办公区 - 实用经验教程分享!

    // exit();

    M3J办公区 - 实用经验教程分享!

    //批量重命名

    M3J办公区 - 实用经验教程分享!

    foreach($tab_name as $k => $v)

    M3J办公区 - 实用经验教程分享!

    {

    M3J办公区 - 实用经验教程分享!

    $sql = 'RENAME TABLE `'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`';

    M3J办公区 - 实用经验教程分享!

    mysql_query($sql);

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

    else

    M3J办公区 - 实用经验教程分享!

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

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    if ( mysql_free_result($result) ) {

    M3J办公区 - 实用经验教程分享!

    return true;

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

    }

    M3J办公区 - 实用经验教程分享!

    ?>

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

  • 4

    保存文件,最好是修改文件的编码为utf8,Notepad 修改为utf-8的方法为工具栏-格式-修改为utf8编码格式。

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

    如何批量修改mysql的表前缀名称M3J办公区 - 实用经验教程分享!

  • 5

    上传到空间。并访问。

    M3J办公区 - 实用经验教程分享!

    M3J办公区 - 实用经验教程分享!

  • 注意事项

    • 做相关操作前请先备份好数据库,以防止数据丢失。

      M3J办公区 - 实用经验教程分享!

      M3J办公区 - 实用经验教程分享!

    • 编码要注意,不然访问会显示乱码。

      M3J办公区 - 实用经验教程分享!

      M3J办公区 - 实用经验教程分享!

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!M3J办公区 - 实用经验教程分享!


    标签: MYSQL

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码