亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

ThinkPHP框架實現的MySQL數據庫備份功能示例

2020-03-22 20:16:58
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Thinkhtml' target='_blank'>PHP框架實現的MySQL數據庫備份功能,結合實例形式分析了thinkPHP導出mysql數據庫相關操作實現與使用技巧,需要的朋友可以參考下

本文實例講述了ThinkPHP框架實現的MySQL數據庫備份功能。分享給大家供大家參考,具體如下:

1、緣由

自從2010年開始試用ThinkPHP以來,的確帶來了許多方便。的確給我帶來了許多方便。此次應為數據頻繁備份需要,而每次遠程連接服務器頗為不便。變萌生了寫個ThinkPHP數據庫備份SQL生成類的念頭。

2、介紹

由于在數據庫中有使用觸發器。因此也需要一并備份。并且為了插入數據的時候不會受到觸發器影響而破壞先前插入的數據,在插入數據之前生成了刪除觸發器的代碼。 本類并不能生成數據表的創建和刪除代碼,因此在使用中請注意保證兩端表結構的一致。

做WEB開發,一直以來,都采用 Navicat For Mysql 將本地數據庫同步到服務器上。前些天,突然心血來潮,將本地數據庫升級到了 Mysql 5.5版本,再次將數據同步的時候卻發生了錯誤。想起之前寫過的 ThinkPHP 實現Mysql數據庫備份 只有備份數據的功能,而沒有導出表結構的功能。于是想到了升級一下。讓其更完整。

本次升級 增加了 備份表結構、視圖功能。導出數據增加了類型判斷,insert 語句當字段為空的時候會輸出 NULL,當為數字 的時候則不會帶上 單引號。

 ?php * 描述:基于ThinkPHP框架的Mysql數據庫導出類 * 日期:2012-07-15 * 作者:龔辟愚class DBExport * @description 獲取當前數據庫的所有表名。 * @static * @return array static protected function getTables() $dbName=C( DB_NAME  $result=M()- query( SHOW FULL TABLES FROM `{$dbName}` WHERE Table_Type = BASE TABLE  foreach ($result as $v){ $tbArray[]=$v[ Tables_in_ .C( DB_NAME  return $tbArray; static protected function getViews() $dbName=C( DB_NAME  $result=M()- query( SHOW FULL TABLES FROM `{$dbName}` WHERE Table_Type = VIEW  foreach ($result as $v){ $tbArray[]=$v[ Tables_in_ .C( DB_NAME  return $tbArray; * @description 導出SQL數據,但不包含表創建代碼。 * @static * @return string static public function ExportAllData() $tables = self::getTables(); $arrAll = array( SET FOREIGN_KEY_CHECKS=0; , self::BuildAllTriggerDropSql(), self::BuildTableSql(), self::BuildViewSql() $tbl = new Model(); foreach($tables as $table) $arrAll[]= /r/nDELETE FROM {$table};  $rs = $tbl- query( SHOW COLUMNS FROM {$table}  $arrFields = array(); foreach ($rs as $k= $v){ $arrFields[] = `{$v[ Field ]}`  $sqlFields = implode($arrFields, ,  $rs=$tbl- query( select * from `{$table}`  foreach ($rs as $k= $v){ $arrValues = array(); foreach($v as $key= $val) if(is_numeric($val)){ $arrValues[]=$val; }else if(is_null($val)){ $arrValues[]= NULL  }else{ $arrValues[]= .addslashes($val).  $arrAll[] = INSERT INTO `{$table}` VALUES ( .implode( , ,$arrValues).  $arrAll[]=self::BuildTriggerCreateSql(); return implode( /r/n ,$arrAll); static protected function BuildTableSql() $tables = self::getTables(); $arrAll = array(); foreach($tables as $val){ $rs = M()- query( SHOW CREATE TABLE `{$val}`  $tbSql = preg_replace( #CREATE(.*)//s+TABLE# , CREATE TABLE ,$rs[0][ Create Table  $arrAll[] = DROP TABLE IF EXISTS `{$rs[0][ Table ]}`;/r/n{$tbSql};/r/n  return implode( /r/n ,$arrAll); static protected function BuildViewSql() $views = self::getViews(); $arrAll = array(); foreach($views as $val){ $rs = M()- query( SHOW CREATE VIEW `{$val}`  $tbSql = preg_replace( #CREATE(.*)//s+VIEW# , CREATE VIEW ,$rs[0][ Create View  $arrAll[] = DROP VIEW IF EXISTS `{$rs[0][ View ]}`;/r/n{$tbSql};/r/n  return implode( /r/n ,$arrAll); * @description 如果存在觸發器,生成刪除代碼。原因是:插入數據的時候可能會受到觸發器影響。 * @static * @return string static public function BuildAllTriggerDropSql() $rs = M()- query( show triggers  $arrAll = array(); foreach ($rs as $k= $v) $arrSql = array( DROP TRIGGER IF EXISTS ` ,$v[ Trigger ],  $arrAll[] = implode( ,$arrSql); return implode( /r/n ,$arrAll); * @description 生成所有觸發器的創建代碼。 * @static * @return string static protected function BuildTriggerCreateSql() $rs = M()- query( show triggers  $arrAll = array(); foreach ($rs as $k= $v) $arrSql = array( CREATE TRIGGER ` ,$v[ Trigger ], ` ,$v[ Timing ], ,$v[ Event ], ON ` , $v[ Table ], ` FOR EACH ROW ,$v[ Statement ],  $arrAll[] = implode( ,$arrSql); return implode( /r/n ,$arrAll);}

調用示例:

vendor( DBExport ,COMMON_PATH);header( Content-type: text/plain; charset=UTF-8 $dbName = C( DB_NAME header( Content-Disposition: attachment; filename=/ {$dbName}.sql/ echo DBExport::ExportAllData()

您可能感興趣的文章:

通過PHP實現微信小程序人臉識別刷臉登錄功能

PHP實現防止表單重復提交功能【基于token驗證】

tp框架(thinkPHP)實現三次登陸密碼錯誤之后鎖定賬號功能示例

以上就是ThinkPHP框架實現的MySQL數據庫備份功能示例的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品在线视频美女| 欧美区在线播放| 一区二区欧美久久| 成人精品一区二区三区电影免费| 国内自拍欧美激情| 一区二区亚洲欧洲国产日韩| 草民午夜欧美限制a级福利片| 日韩av手机在线看| 这里只有精品在线播放| 青青草精品毛片| 亚洲精品天天看| 国产成人激情视频| 91精品国产91久久久久久久久| 亚洲国产天堂网精品网站| 91中文在线观看| 日韩女优人人人人射在线视频| 国产精品丝袜白浆摸在线| 欧美专区福利在线| 亚洲视频在线免费看| 日韩成人av一区| 日韩av免费网站| 欧美精品videosex牲欧美| 亚洲精品欧美一区二区三区| 欧美精品在线观看91| 日韩精品视频在线观看免费| 久久久精品一区二区三区| 91国产在线精品| 亚洲男人7777| 国产精品久久久91| 亚洲热线99精品视频| 国内伊人久久久久久网站视频| 亚洲综合自拍一区| 欧美最猛黑人xxxx黑人猛叫黄| 成人国内精品久久久久一区| 国产视频久久网| 国产精品毛片a∨一区二区三区|国| 日韩精品在线免费| 国产成人亚洲综合青青| 亚洲欧美日韩一区在线| 欧美亚洲一区在线| 色哟哟网站入口亚洲精品| 日韩精品中文字幕视频在线| 欧美成人性生活| 欧美精品成人91久久久久久久| 成人精品久久一区二区三区| 国产欧美 在线欧美| 91成品人片a无限观看| 亚洲女性裸体视频| 亚洲精品中文字幕av| 伊人久久男人天堂| 日韩在线视频免费观看| 久久精品一区中文字幕| 亚洲成人网在线| 亚洲欧洲一区二区三区久久| 日韩av影院在线观看| 亚洲综合小说区| 亚洲小视频在线观看| 精品欧美一区二区三区| 日本精品视频在线| 欧美又大粗又爽又黄大片视频| 欧美一级淫片播放口| 国产精品视频一区国模私拍| 国产精品国产自产拍高清av水多| 国产亚洲精品久久久久久| 日韩日本欧美亚洲| www.国产一区| 富二代精品短视频| 日韩精品在线观看一区二区| 日韩精品免费在线视频观看| 永久免费精品影视网站| 黄色成人av网| 黑人极品videos精品欧美裸| 国产精品视频公开费视频| 国产精品久久久久免费a∨大胸| 精品久久久久久中文字幕大豆网| 亚洲高清免费观看高清完整版| 日韩欧美在线中文字幕| 欧美日韩一区二区免费视频| 精品偷拍各种wc美女嘘嘘| 亚洲精品视频网上网址在线观看| 中文字幕综合在线| 亚洲免费人成在线视频观看| 久久久久久久国产精品| 亚洲国产私拍精品国模在线观看| 亚洲最新av在线网站| 欧美国产激情18| 亚洲国产精品一区二区久| 色阁综合伊人av| 亚洲一区二区三区在线视频| 啊v视频在线一区二区三区| 国产成人在线一区二区| 国产在线视频91| 国产精品久久久久久久午夜| 欧美日韩国产一区在线| 日本精品视频在线播放| 亚洲精品电影网| 亚洲国产精品va在线看黑人动漫| 久久躁日日躁aaaaxxxx| 亚洲成人网久久久| 久久精品视频在线播放| 欧美日韩亚洲91| 国产亚洲精品激情久久| 美女精品久久久| 国产欧美日韩丝袜精品一区| 亚洲女成人图区| 91精品视频专区| 久久久久久久久91| 国产精品丝袜白浆摸在线| 成人网在线视频| 欧美做受高潮电影o| 国产日产亚洲精品| 日韩欧美亚洲国产一区| 亚洲第一精品夜夜躁人人躁| 国产成人啪精品视频免费网| 色综合久久悠悠| 国产偷国产偷亚洲清高网站| 日本精品一区二区三区在线| 91久久精品视频| 欧美wwwxxxx| 啪一啪鲁一鲁2019在线视频| 97精品视频在线观看| 欧美精品在线第一页| 亚洲第一免费播放区| 91日本在线观看| 亚洲视频国产视频| 国产精品久久久久久久久借妻| 久久精品夜夜夜夜夜久久| 少妇高潮久久77777| 日韩欧美国产激情| 国产一区二区三区在线播放免费观看| 欧美日韩国产区| 久久中文久久字幕| 亚洲午夜未满十八勿入免费观看全集| 久久久在线视频| 国产一区二区三区欧美| 亚洲天堂av在线免费| 国产精品久久久久久久久久小说| 欧美日韩国产综合视频在线观看中文| 日韩精品日韩在线观看| 粉嫩av一区二区三区免费野| 91久热免费在线视频| 夜夜躁日日躁狠狠久久88av| 久久露脸国产精品| 伊人久久五月天| 国产在线观看精品一区二区三区| 一本色道久久88亚洲综合88| 久久久国产一区二区三区| 精品久久久久久久久久久久| 亚洲一区二区三区乱码aⅴ| 欧美成人国产va精品日本一级| 不卡伊人av在线播放| 国产精品一区二区在线| 亚洲第一精品夜夜躁人人爽| 丝袜美腿亚洲一区二区| 欧美激情亚洲一区| 丰满岳妇乱一区二区三区| 欧日韩在线观看| 欧美性xxxx18| 尤物99国产成人精品视频| 日韩亚洲欧美中文在线| 亚洲自拍偷拍第一页| 国产精品自产拍高潮在线观看| 欧美成aaa人片在线观看蜜臀| 欧美最猛性xxxx|