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 相关文章推荐
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
Aug 07 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
php获取当月最后一天函数分享
Feb 02 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 PHP
简单实现php上传文件功能
Sep 21 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP实现通过文本文件统计页面访问量功能示例
Feb 13 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 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
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
JS正则中的RegExp对象对象
2012/11/07 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
vuex入门最详细整理
2020/03/04 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Python中的Numpy矩阵操作
2018/08/12 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
Linux文件系统类型
2012/09/16 面试题
应届生煤化工求职信
2013/10/21 职场文书
集团公司总经理岗位职责
2013/12/20 职场文书
文秘专业个人求职信
2013/12/22 职场文书
2014年招商工作总结
2014/11/22 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers