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公用函数列表[正则]
Feb 22 PHP
php获取某个目录大小的代码
Sep 10 PHP
PHP Squid中可缓存的动态网页设计
Sep 17 PHP
javascript 小型动画组件与实现代码
Jun 02 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
比较简单的百度网盘文件直链PHP代码
Mar 24 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
php简单生成随机数的方法
Jul 30 PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
PHP简介
2006/10/09 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
NodeJS使用七牛云存储上传文件的方法
2017/07/24 NodeJs
iphone刘海屏页面适配方法
2019/05/07 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
Django 登陆验证码和中间件的实现
2018/08/17 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
python实现QQ批量登录功能
2019/06/19 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
简历上的自我评价怎么写
2014/01/28 职场文书
丑小鸭教学反思
2014/02/03 职场文书
《石榴》教学反思
2014/03/02 职场文书
新农村建设典型材料
2014/05/31 职场文书
爱心募捐感谢信
2015/01/22 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
Redis实现一个账号只能登录一个设备
2022/04/19 Redis