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和ACCESS写聊天室(五)
Oct 09 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
微博短链接算法php版本实现代码
Sep 15 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
TP5.0框架实现无限极回复功能的方法分析
May 04 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 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
杏林同学录(八)
2006/10/09 PHP
[转帖]PHP世纪万年历
2006/12/06 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
Python 装饰器使用详解
2017/07/29 Python
Python多进程原理与用法分析
2018/08/21 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
tensorflow之并行读入数据详解
2020/02/05 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
写出SQL四条最基本的数据操作语句(DML)
2012/12/12 面试题
Linux操作面试题
2012/05/16 面试题
公共事业管理本科生求职信
2013/10/07 职场文书
跟单文员的岗位职责
2013/11/14 职场文书
事业单位辞职信范文
2014/01/19 职场文书
给物业的表扬信
2014/01/21 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
婚礼新人答谢词
2015/01/04 职场文书
创业计划书之便利店
2019/09/05 职场文书
MySQL开启事务的方式
2021/06/26 MySQL
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
Go web入门Go pongo2模板引擎
2022/05/20 Golang
postgresql中如何执行sql文件
2023/05/08 PostgreSQL