php+mysqli实现批量替换数据库表前缀的方法


Posted in PHP onDecember 29, 2014

本文实例讲述了php+mysqli实现批量替换数据库表前缀的方法。分享给大家供大家参考。具体分析如下:

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

<?php 
header ( 'http-equiv="Content-Type" content="text/html; charset=utf-8"' ); 
$DB_host = "localhost"; //数据库主机 
$DB_user = "root"; //数据库用户 
$DB_psw = "root3306"; //数据库密码 
$DB_datebase = "gk_yue39_com"; //数据库名 
$DB_charset = "utf8"; //数据库字符集 
$dbprefix="yue392_com_"; 
$new_dbprefix="yue39_com_"; 
$db = new mysqli ( $DB_host, $DB_user, $DB_psw ); //实例化对象 
 
//检查连接 
if (mysqli_connect_errno ()) { 
 printf ( "Connect failed: %sn", mysqli_connect_error () ); 
 exit (); 
} 
 
$db->select_db ( $DB_datebase ); //选择操作数据库 
 
$db->set_charset ( $DB_charset ); //设置数据库字符集 
 
//执行一个查询 
$sql = 'show tables'; 
$result = $db->query ( $sql ); 
 
echo $result->num_rows . ' 行结果 ' . $result->field_count . ' 列内容<br/>'; 
 
//$result->data_seek('5');//从结果集中第5条开始取结果 
 
echo '<table border="1" cellspacing="0" cellpadding="0" align="center" width="90%">'; 
 
//循环输出字段名 
//$result->field_seek(2);//从字段集中第2条开始取结果 
while ( true == ($field = $result->fetch_field ()) ) { 
 echo '<th>' . $result->current_field . '_' . $field->name . '(' . $field->length . ')</th>'; 
} 
 
//循环输出查询结果 
while ( true == ($row = $result->fetch_assoc ()) ) { 
 echo '<tr>'; 
 foreach ( $row as $col ) { 
$sql="rename table `".$col."` to `".str_replace ( $dbprefix, $new_dbprefix, $col)."`"; 
 if($db->query ( $sql )){ 
 echo '<td align="center">' . $sql. '</td><td><font color="blue"> success</font></td>'; 
 }else{ 
 echo '<td align="center">' . $sql. '</td><td><font color="red"> failed</font></td>';
 } 
 } 
 echo '</tr>'; 
} 
 
echo '</table>'; 
$result->free ();//释放结果集 
$db->close (); //关闭连接 
?>

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

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

SELECT CONCAT( ‘ALTER TABLE ‘, TABLE_NAME, ‘RENAME TO ‘, TABLE_NAME,‘;' )

FROM information_schema.TABLES

WHERE TABLE_NAME LIKE ‘uc_%';

执行后得到如下的结果:

ALTER TABLE uc_aaa RENAME TO uc_aaa;

ALTER TABLE uc_bbb RENAME TO uc_bbb;

保留如下的数据:

ALTER TABLE uc_aaa RENAME TO uc_aaa;

ALTER TABLE uc_bbb RENAME TO uc_bbb;

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

SELECT CONCAT( ‘drop table ‘, TABLE_NAME, ‘;' )

FROM information_schema.TABLES

WHERE TABLE_NAME LIKE ‘uc_%';

2、“dbtable_name”改成“db_table_name”

SELECT CONCAT( ‘ALTER TABLE ‘, TABLE_NAME, ‘RENAME TO db_', SUBSTRING(TABLE_NAME,3),‘;' )

FROM information_schema.TABLES

WHERE TABLE_NAME LIKE ‘db%';

第三种方法:

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

1、登录帝国备份后台,选择“备份数据”—— “批量替换表名”,然后执行操作就可以完成批量替换了,也非常简单。如下图:

php+mysqli实现批量替换数据库表前缀的方法

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

以上方法都可修改网站前缀,不过大多数的开源程序修改表缀后,再需要修改网站程序的数据库配置文件,才会让网站网站的运行。
希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
dedecms模板标签代码官方参考
Mar 17 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
一个PHP的远程图片抓取函数分享
Sep 25 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
PHP邮件群发机实现代码
Feb 16 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
php array_chunk()函数用法与注意事项
Jul 12 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
PHP跨平台获取服务器IP地址自定义函数分享
Dec 29 #PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 #PHP
php读取远程gzip压缩网页的方法
Dec 29 #PHP
php导入大量数据到mysql性能优化技巧
Dec 29 #PHP
推荐几个开源的微信开发项目
Dec 28 #PHP
dedecms集成财付通支付接口
Dec 28 #PHP
VPS中使用LNMP安装WordPress教程
Dec 28 #PHP
You might like
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
PHP之数组学习
2011/05/29 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
总结对比php中的多种序列化
2016/08/28 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
JS实现简易计算器
2020/02/14 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
公司门卫管理制度
2014/02/01 职场文书
2014年元旦活动方案
2014/02/15 职场文书
工程质量承诺书范文
2014/03/27 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
绵山导游词
2015/02/05 职场文书
团结友爱主题班会
2015/08/13 职场文书
《小小的船》教学反思
2016/02/18 职场文书