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 相关文章推荐
excellent!――ASCII Art(由目标图象生成ascii)
Feb 20 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
php判断访问IP的方法
Jun 19 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
PHP+mysql实现从数据库获取下拉树功能示例
Jan 06 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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
松下Panasonic RF-B65电路分析
2021/03/02 无线电
php-fpm配置详解
2014/02/12 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
jquery 指南/入门基础
2007/11/30 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
node.js中的require使用详解
2014/12/15 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
微信小程序Redux绑定实例详解
2017/06/07 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
js实现简单的随机点名器
2020/09/17 Javascript
git进行版本控制心得详谈
2017/12/10 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
详解python中的模块及包导入
2019/08/30 Python
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
德国综合购物网站:OTTO
2018/11/13 全球购物
安全承诺书范文
2014/03/26 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
2015年公司新年寄语
2014/12/08 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
通知函的格式
2015/04/27 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang