利用php + mysqli怎么对数据库表的前缀进行替换

  介绍

利用php + mysqli怎么对数据库表的前缀进行替换?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

在php中有时我们要替换数据库中表前缀但是又不苦于一个个表去修改前缀,这里我自己写了一个mysqli批量替换数据库表前缀的php程序,感兴趣的朋友可以参考一下,代码如下:

& lt; ? php    header  (, & # 39; http-equiv=癈ontent-Type",内容=皌ext/html;, charset=utf-8" & # 39;,),,   时间=美元DB_host “localhost",,//数据库主机,   时间=美元DB_user “root",,//数据库用户,   时间=美元DB_psw “root3306",,//数据库密码,   时间=美元DB_datebase “gk_yue39_com",,//数据库名,   时间=美元DB_charset “utf8",,//数据库字符集,   $ dbprefix=皔ue392_com_",,   $ new_dbprefix=皔ue39_com_",,   $ db =, new  mysqli  (DB_host美元,大敌;DB_user美元,美元DB_psw );,//实例化对象,   ,//检查连接,   if  (mysqli_connect_errno  ()), {,   ,printf  (,“Connect 失败:% sn",, mysqli_connect_error  (),),,   ,exit  ();   },   ,   $ db→select_db  (, DB_datebase 美元;);,//选择操作数据库,   ,   $ db→set_charset  (, DB_charset 美元;);,//设置数据库字符集,   ,//执行一个查询,   时间=美元sql  & # 39; show 表# 39;;,   result 美元;=,$ db→query  (, sql 美元;);,   ,   echo 结果→美元num_rows 只& # 39;,行结果,& # 39;,只结果→美元field_count 只& # 39;,列内容& lt; br/祝辞& # 39;,,   ,//结果→美元data_seek(& # 39; 5 & # 39;);//从结果集中第5条开始取结果,   ,   echo  & # 39; & lt; table 边界=?“,单元格间距=?”,单元格边距=?“,对齐=癱enter",宽度=?0%“祝辞& # 39;,,   ,//循环输出字段名,//结果→美元field_seek(2);//从字段集中第2条开始取结果,   while  (, true ==, ($ field =,结果→美元fetch_field  ()),), {,   ,echo  & # 39; & lt; th> & # 39;,只结果→美元current_field 只& # 39;_ # 39;,只场→美元name 只& # 39;(& # 39;,只场→美元length 只& # 39;)& lt;/th> & # 39;;,   },   ,//循环输出查询结果,   while  (, true ==, ($ row =,结果→美元fetch_assoc  ()),), {,   ,echo  & # 39; & lt; tr> & # 39;,,   ,foreach  (, row 美元;as  col 美元),{,   $ sql=皉ename  table ““。美元坳!””,用““.str_replace  (dbprefix美元,大敌;new_dbprefix美元,美元坳)干净的,,,   ,如果($ db→query  (, sql 美元;)){,   ,echo  & # 39; & lt; td 对齐=癱enter"祝辞& # 39;,只sql又是美元;& # 39;& lt;/td> & lt; td> & lt; font 颜色=癰lue"祝辞,success & lt;/td> & # 39;,,   其他}{大敌;   ,echo  & # 39; & lt; td 对齐=癱enter"祝辞& # 39;,只sql又是美元;& # 39;& lt;/td> & lt; td> & lt; font 颜色=皉ed"祝辞,failed & lt;/td> & # 39;;   }大敌;   }大敌;   ,echo  & # 39; & lt;/tr> & # 39;,,   },   ,   echo  & # 39; & lt;/table> & # 39;,,   结果→美元free ();//释放结果集,   $ db→close (),,//关闭连接,   ?在

<强>第二种方法:如何批量修改MYSQL的数据库表前缀名称

批量修改表名的操作方法,以下操作请用navicat操作即可,快捷方便:

代码如下:


选择CONCAT (ALTER TABLE, TABLE_NAME,重命名的,TABLE_NAME, '; & # 39;)
information_schema。表
在TABLE_NAME像‘uc_ % & # 39;;

执行后得到如下的结果:

代码如下:


ALTER TABLE uc_aaa重命名uc_aaa;
ALTER TABLE uc_bbb重命名uc_bbb;

保留如下的数据:

代码如下:


ALTER TABLE uc_aaa重命名uc_aaa;
ALTER TABLE uc_bbb重命名uc_bbb;

然后选择要修改的数据库,执行上面得到的SQL语句就可以修改掉数据库表前缀了。
附:1批量删除指定前缀的表

代码如下:


选择CONCAT(“删除表”,TABLE_NAME; & # 39;)
information_schema。表
在TABLE_NAME像‘uc_ % & # 39;;

2,改“dbtable_name”成“db_table_name”

代码如下:


选择CONCAT (ALTER TABLE, TABLE_NAME,“重命名db_& # 39;, SUBSTRING (TABLE_NAME 3)”; & # 39;)
information_schema。表
在TABLE_NAME像‘db % & # 39;;

<强>第三种方法:

今天更新一个mysql数据库表前缀的另一个方法,这个方法使用也非常简单,就是用第三方工具,帝国备份王进行修改。操作方法如下:

利用php + mysqli怎么对数据库表的前缀进行替换