一、一般步驟
在中方等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,中方網(wǎng)站建設(shè)費(fèi)用合理。
1、用phpADMIN生成CSV格式文件
以PHP+MySQL模式建立個人主頁的讀者,在自己的機(jī)器上都有PHP+MySQL環(huán)境吧?就在這個環(huán)境下,用phpADMIN生成以分號為分隔符的dotmud.csv文件。
2、將dotmud.csv文件通過FTP上傳到服務(wù)器。
3、上傳data.php程序(程序附后),在瀏覽器調(diào)用data.php程序,將dotmud.csv文件的內(nèi)容加入到數(shù)據(jù)庫。
二、特殊處理
一般的數(shù)據(jù),通過上述步驟,基本可以順利上傳。但對于包含特殊字符的數(shù)據(jù)(比如數(shù)據(jù)庫記錄中包含換行符、單引號、分號),就要做些特殊的處理。
1、換行符的處理
PHP的fgetcsv()函數(shù)以換行符作為每行的結(jié)束標(biāo)志。如果MySQL數(shù)據(jù)表的記錄包含換行符,fgetcsv()就不能完整讀取記錄行。
筆者的解決方法是修改phpADMIN的lib.inc.php3文件(讀者也可以不修改phpADMIN文件,而是用其他方法直接加工phpADMIN生成的dotmud.csv文件,達(dá)到同樣的效果)的get_table_csv()函數(shù):
在 $schema_insert=ereg_replace($sep."$","",$schema_insert) 行后加入如下命令行
$schema_insert=ereg_replace("\r\n","`return`",$schema_insert)
將換行符轉(zhuǎn)換為不容易出現(xiàn)的換行標(biāo)識串`return`(讀者可根據(jù)自己數(shù)據(jù)的特點(diǎn)設(shè)置獨(dú)特的換行標(biāo)識串),再在data.php程序中加一行命令$data[$i]=ereg_replace("`return`","\r\n",$data[$i]),用來將換行標(biāo)識串還原成換行符。
2、分隔符的處理
如果MySQL記錄行恰好包含CSV分隔符,fgetcsv()進(jìn)行分隔處理時就會出現(xiàn)問題。
筆者仍然是通過修改lib.inc.php3文件解決的。
在get_table_csv()的$schema_insert="$row[$j]".$sep行前加一行
$row[$j]=ereg_replace($sep,"`return_sep`",$row[$j]) 命令,將分隔符轉(zhuǎn)為分隔標(biāo)識串`return_sep`,同時在data.php中用命令行 $data[$i]=ereg_replace("`return_sep`",";",$data[$i]) 進(jìn)行還原處理。
3、單引號的處理
MySQL的SQL語句行對單引號有特殊的定義,如果直接提交含單引號的SQL語句,就會出錯。這種情況需要加上轉(zhuǎn)義符。在data.php中加一行 $data[$i]=ereg_replace("'","\'",$data[$i]) 就可解決。
另外,在數(shù)據(jù)記錄特別多的的情況下,dotmud.csv文件可能比較大,如果在服務(wù)器的限定時間內(nèi)不能執(zhí)行完data.php程序,就需要按行分拆dotmud.csv。如筆者有個7000行的dotmud.csv文件,在自己的機(jī)器上執(zhí)行到600行就提示超時,便拆成10個文件上傳到全路互聯(lián)(),結(jié)果對方的服務(wù)器速度快,每個文件的處理時間還不到1秒,而php默認(rèn)的限定執(zhí)行時間可是30秒?。】磥砦易龅姆植饘?shí)屬多余。
以上方法解決了數(shù)據(jù)庫內(nèi)容的上傳問題。對于數(shù)據(jù)庫結(jié)構(gòu)的上傳,只要稍微修改一下data.php程序就可實(shí)現(xiàn)。其實(shí),如果庫結(jié)構(gòu)比較簡單,用phpADMIN更方便
平時開放過程中,需要將Excel表格中的數(shù)據(jù)導(dǎo)入到MySql數(shù)據(jù)庫中,MySQL-Front為我們提供了這個功能,高效,快捷,又方便。
工具/原料
MySQL-Front 5.3
MySQL5.0
BasicCode.xls
方法/步驟
第一步:使用MySQL-Front 5.3訪問數(shù)據(jù)庫,打開數(shù)據(jù)界面如下
第二步,新建表,tb_test字段最好和保持?jǐn)?shù)據(jù)一致
第三步,要導(dǎo)入的Excel數(shù)據(jù),格式如下
第四步,選中新建的表右鍵,然后點(diǎn)擊"MS excel 文件(M)...",在選中要導(dǎo)入的Excel文件。
第五、選中要導(dǎo)入的數(shù)據(jù),以下截圖中顯示的是excel文件中的sheet名稱,點(diǎn)擊下一步,然后將excel表中的數(shù)據(jù)項(xiàng)和數(shù)據(jù)庫表中的字段一一對應(yīng),點(diǎn)擊下一步,出現(xiàn)界面之后,直接點(diǎn)擊“運(yùn)行”即可。
在這里分享一下在python中上傳數(shù)據(jù)到MySQL的整體流程。
利用for循環(huán),可以依次把列表中的每一組數(shù)據(jù)寫入sql語句并執(zhí)行。
需要注意的是values的每個值都需要用引號引起來,否則會報(bào)錯
MySQL數(shù)據(jù)庫的導(dǎo)入,有兩種方法:
1)
先導(dǎo)出數(shù)據(jù)庫SQL腳本,再導(dǎo)入;
2)
直接拷貝數(shù)據(jù)庫目錄和文件。
在不同操作系統(tǒng)或MySQL版本情況下,直接拷貝文件的方法可能會有不兼容的情況發(fā)生。
所以一般推薦用SQL腳本形式導(dǎo)入。下面分別介紹兩種方法。
2.
方法一
SQL腳本形式
操作步驟如下:
2.1.
導(dǎo)出SQL腳本
在原數(shù)據(jù)庫服務(wù)器上,可以用phpMyAdmin工具,或者mysqldump命令行,導(dǎo)出SQL腳本。
2.1.1
用phpMyAdmin工具
導(dǎo)出選項(xiàng)中,選擇導(dǎo)出“結(jié)構(gòu)”和“數(shù)據(jù)”,不要添加“DROP
DATABASE”和“DROP
TABLE”選項(xiàng)。
選中“另存為文件”選項(xiàng),如果數(shù)據(jù)比較多,可以選中“gzipped”選項(xiàng)。
將導(dǎo)出的SQL文件保存下來。
2.1.2
用mysqldump命令行
命令格式
mysqldump
-u用戶名
-p
數(shù)據(jù)庫名
數(shù)據(jù)庫名.sql
范例:
mysqldump
-uroot
-p
abc
abc.sql
(導(dǎo)出數(shù)據(jù)庫abc到abc.sql文件)
提示輸入密碼時,輸入該數(shù)據(jù)庫用戶名的密碼。
2.2.
創(chuàng)建空的數(shù)據(jù)庫
通過主控界面/控制面板,創(chuàng)建一個數(shù)據(jù)庫。假設(shè)數(shù)據(jù)庫名為abc,數(shù)據(jù)庫全權(quán)用戶為abc_f。
2.3.
將SQL腳本導(dǎo)入執(zhí)行
同樣是兩種方法,一種用phpMyAdmin(mysql數(shù)據(jù)庫管理)工具,或者mysql命令行。
2.3.1
用phpMyAdmin工具
首先,登錄mysql(127.0.0.1/phpmyadmin)輸入用戶名、密碼,用戶名通常是root,密碼自己看著辦,然后在本地導(dǎo)出數(shù)據(jù)庫,存為一個擴(kuò)展名為xxx.sql的文檔。如果你在數(shù)據(jù)庫里用到了GB2312記得用Dreamweaver打開,替換成GBK,因?yàn)槲业腜HPMYADMIN里面沒有GB2312編碼。
然后通過瀏覽器打開網(wǎng)址的后臺管理界面,用新網(wǎng)給你的用戶名和密碼登陸。在最下方有一個MYSQL數(shù)據(jù)庫管理入口。
3
進(jìn)入新網(wǎng)后臺以后,進(jìn)去后再次要求輸入密碼,再次驗(yàn)證,你照開始一樣輸入就可以。我的MYSQL數(shù)據(jù)庫沒有直接導(dǎo)入功能,所以把剛剛在Dreamweaver編輯的代碼全部復(fù)制到SQL執(zhí)行窗口,點(diǎn)擊執(zhí)行即可!接下來就是修改網(wǎng)站文件里的鏈接代碼,將對應(yīng)的服務(wù)器地址、用戶名和密碼換成對應(yīng)的就可以了。很簡單吧。
1)、數(shù)據(jù)不多的情況下,可以直接用數(shù)據(jù)庫連接工具,上面有數(shù)據(jù)庫拷貝到數(shù)據(jù)庫的功能來拷貝。
2)、數(shù)據(jù)量大的情況下,建議用下面的方式:
1、遠(yuǎn)程服務(wù)上面安裝mysql服務(wù)器
2、本地的數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)出到一個文件中
3、ftp或者其他方式,把這個數(shù)據(jù)庫文件傳到遠(yuǎn)程服務(wù)器
4、用遠(yuǎn)程服務(wù)中source命令,導(dǎo)入
本文題目:怎么上傳mysql數(shù)據(jù)庫,mysql數(shù)據(jù)庫上傳到服務(wù)器
轉(zhuǎn)載注明:http://www.rwnh.cn/article26/dsdjdcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、企業(yè)建站、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)