php+mysqli實(shí)現(xiàn)批量替換數(shù)據(jù)庫表前綴的方法
本文實(shí)例講述了php+mysqli實(shí)現(xiàn)批量替換數(shù)據(jù)庫表前綴的方法。分享給大家供大家參考。具體分析如下:
在php中有時我們要替換數(shù)據(jù)庫中表前綴但是又不苦于一個個表去修改前綴,這里我自己寫了一個mysqli批量替換數(shù)據(jù)庫表前綴的php程序,感興趣的朋友可以參考一下,代碼如下:
<?php header ( 'http-equiv="Content-Type" content="text/html; charset=utf-8"' ); $DB_host = "localhost"; //數(shù)據(jù)庫主機(jī) $DB_user = "root"; //數(shù)據(jù)庫用戶 $DB_psw = "root3306"; //數(shù)據(jù)庫密碼 $DB_datebase = "gk_yue39_com"; //數(shù)據(jù)庫名 $DB_charset = "utf8"; //數(shù)據(jù)庫字符集 $dbprefix="yue392_com_"; $new_dbprefix="yue39_com_"; $db = new mysqli ( $DB_host, $DB_user, $DB_psw ); //實(shí)例化對象 //檢查連接 if (mysqli_connect_errno ()) { printf ( "Connect failed: %sn", mysqli_connect_error () ); exit (); } $db->select_db ( $DB_datebase ); //選擇操作數(shù)據(jù)庫 $db->set_charset ( $DB_charset ); //設(shè)置數(shù)據(jù)庫字符集 //執(zhí)行一個查詢 $sql = 'show tables'; $result = $db->query ( $sql ); echo $result->num_rows . ' 行結(jié)果 ' . $result->field_count . ' 列內(nèi)容<br/>'; //$result->data_seek('5');//從結(jié)果集中第5條開始取結(jié)果 echo '<table border="1" cellspacing="0" cellpadding="0" align="center" width="90%">'; //循環(huán)輸出字段名 //$result->field_seek(2);//從字段集中第2條開始取結(jié)果 while ( true == ($field = $result->fetch_field ()) ) { echo '<th>' . $result->current_field . '_' . $field->name . '(' . $field->length . ')</th>'; } //循環(huán)輸出查詢結(jié)果 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 ();//釋放結(jié)果集 $db->close (); //關(guān)閉連接 ?>
第二種方法:如何批量修改MYSQL的數(shù)據(jù)庫表前綴名稱
批量修改表名的操作方法,以下操作請用navicat操作即可,快捷方便:
SELECT CONCAT( ‘ALTER TABLE ‘, TABLE_NAME, ‘RENAME TO ‘, TABLE_NAME,‘;' )
FROM information_schema.TABLES
WHERE TABLE_NAME LIKE ‘uc_%';
執(zhí)行后得到如下的結(jié)果:
ALTER TABLE uc_aaa RENAME TO uc_aaa;
ALTER TABLE uc_bbb RENAME TO uc_bbb;
保留如下的數(shù)據(jù):
ALTER TABLE uc_aaa RENAME TO uc_aaa;
ALTER TABLE uc_bbb RENAME TO uc_bbb;
然后選擇要修改的數(shù)據(jù)庫,執(zhí)行上面得到的SQL語句就可以修改掉數(shù)據(jù)庫表前綴了。
附: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數(shù)據(jù)庫表前綴的另一個方法,這個方法使用也非常簡單,就是用第三方工具——帝國備份王進(jìn)行修改。操作方法如下:
1、登錄帝國備份后臺,選擇“備份數(shù)據(jù)”—— “批量替換表名”,然后執(zhí)行操作就可以完成批量替換了,也非常簡單。如下圖:
如何批量修改mysql的表前綴名稱
以上方法都可修改網(wǎng)站前綴,不過大多數(shù)的開源程序修改表綴后,再需要修改網(wǎng)站程序的數(shù)據(jù)庫配置文件,才會讓網(wǎng)站網(wǎng)站的運(yùn)行。
希望本文所述對大家的php程序設(shè)計(jì)有所幫助。
- PHP執(zhí)行批量mysql語句的解決方法
- 使用phpMyAdmin批量修改Mysql數(shù)據(jù)表前綴的方法
- php+mysqli實(shí)現(xiàn)批量執(zhí)行插入、更新及刪除數(shù)據(jù)的方法
- php+mysqli批量查詢多張表數(shù)據(jù)的方法
- php往mysql中批量插入數(shù)據(jù)實(shí)例教程
- PHP mysqli 增強(qiáng) 批量執(zhí)行sql 語句的實(shí)現(xiàn)代碼
- php從memcache讀取數(shù)據(jù)再批量寫入mysql的方法
- php中批量刪除Mysql中相同前綴的數(shù)據(jù)表的代碼
- PHP實(shí)現(xiàn)mysqli批量執(zhí)行多條語句的方法示例
- PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略概述
- php+mysql查詢優(yōu)化簡單實(shí)例
- PHP優(yōu)化之批量操作MySQL實(shí)例分析
相關(guān)文章
mod_php、FastCGI、PHP-FPM等PHP運(yùn)行方式對比
這篇文章主要介紹了mod_php、FastCGI、PHP-FPM等PHP運(yùn)行方式對比,本文講解了什么是PHP處理器(PHP handlers)、mod_php的優(yōu)缺點(diǎn)、FastCGI的優(yōu)缺點(diǎn)、PHP-FPM(FastCGI Process Manager)的優(yōu)缺點(diǎn)等內(nèi)容,需要的朋友可以參考下2015-07-07編譯PHP報錯configure error Cannot find libmysqlclient under usr的
這篇文章主要介紹了Linux上編譯PHP報錯configure error Cannot find libmysqlclient under usr的解決方法,需要的朋友可以參考下2014-06-06PHP中使用php://input處理相同name值的表單數(shù)據(jù)
這篇文章主要介紹了PHP中使用php://input處理相同name值的表單數(shù)據(jù),本文是另一種處理相同name值表單數(shù)據(jù)的方法,文中同時給出另一種方法,需要的朋友可以參考下2015-02-02解決Laravel blade模板轉(zhuǎn)義html標(biāo)簽的問題
今天小編就為大家分享一篇解決Laravel blade模板轉(zhuǎn)義html標(biāo)簽的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09phplist及phpmailer(組合使用)通過gmail發(fā)送郵件的配置方法
這篇文章主要介紹了phplist及phpmailer通過gmail發(fā)送郵件的配置方法,分析了組合使用二者過程中的相關(guān)問題與注意事項(xiàng),需要的朋友可以參考下2016-03-03php中將圖片gif,jpg或mysql longblob或blob字段值轉(zhuǎn)換成16進(jìn)制字符串
php如何將圖片gif,jpg或mysql longblob或blob字段值轉(zhuǎn)換成16進(jìn)制字符串!經(jīng)過查找居然如此簡單,一個函數(shù)就搞定了。2011-08-08