亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買(mǎi)流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷(xiāo)推廣
客服中心
業(yè)務(wù)咨詢(xún)
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線(xiàn)客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

MySQL中的mysqldump命令使用詳解

添加時(shí)間:2014-5-31 17:54:05  添加: 思海網(wǎng)絡(luò) 

MySQL有很多可以導(dǎo)入數(shù)據(jù)的方法,然而這些只是數(shù)據(jù)傳輸中的一半,另外的一般是從 MySQL數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù)。有許多的原因我們需要導(dǎo)出數(shù)據(jù)。一個(gè)重要的原因是用于備份數(shù)據(jù)庫(kù)。數(shù)據(jù)的造價(jià)常常是昂貴的,需要謹(jǐn)慎處理它們。經(jīng)常地備份可 以幫助防止寶貴數(shù)據(jù)地丟失;另外一個(gè)原因是,也許您希望導(dǎo)出數(shù)據(jù)來(lái)共享。 在這個(gè)信息技術(shù)不斷成長(zhǎng)的世界中,共享數(shù)據(jù)變得越來(lái)越常見(jiàn)。

比 方說(shuō)Macmillan USA維護(hù)護(hù)著一個(gè)將要出版的書(shū)籍的大型數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)在許多書(shū)店之間共享,這樣他們就知道哪些書(shū)將會(huì)很快出版。醫(yī)院越來(lái)越走向采用無(wú)紙病歷記錄,這 樣這些病歷可以隨時(shí)跟著你。世界變得越來(lái)越小,信息也被共享得越來(lái)越多。有很多中導(dǎo)出數(shù)據(jù)得方法,它們都跟導(dǎo)入數(shù)據(jù)很相似。因?yàn)椋吘,這些都只是一種透 視得方式。從數(shù)據(jù)庫(kù)導(dǎo)出的數(shù)據(jù)就是從另一端導(dǎo)入的數(shù)據(jù)。這里我們并不討論其他的數(shù)據(jù)庫(kù)各種各樣的導(dǎo)出數(shù)據(jù)的方法,您將學(xué)會(huì)如何用MySQL來(lái)實(shí)現(xiàn)數(shù)據(jù)導(dǎo) 出。

使用mysqldump:

(mysqldump命令位于mysql/bin/目錄中)

mysqldump 工具很多方面類(lèi)似相反作用的工具mysqlimport。它們有一些同樣的選項(xiàng)。但mysqldump能夠做更多的事情。它可以把整個(gè)數(shù)據(jù)庫(kù)裝載到一個(gè)單 獨(dú)的文本文件中。這個(gè)文件包含有所有重建您的數(shù)據(jù)庫(kù)所需要的SQL命令。這個(gè)命令取得所有的模式(Schema,后面有解釋?zhuān)┎⑶覍⑵滢D(zhuǎn)換成DDL語(yǔ)法 (CREATE語(yǔ)句,即數(shù)據(jù)庫(kù)定義語(yǔ)句),取得所有的數(shù)據(jù),并且從這些數(shù)據(jù)中創(chuàng)建INSERT語(yǔ)句。這個(gè)工具將您的數(shù)據(jù)庫(kù)中所有的設(shè)計(jì)倒轉(zhuǎn)。因?yàn)樗械臇| 西都被包含到了一個(gè)文本文件中。這個(gè)文本文件可以用一個(gè)簡(jiǎn)單的批處理和一個(gè)合適SQL語(yǔ)句導(dǎo)回到MySQL中。這個(gè)工具令人難以置信地簡(jiǎn)單而快速。決不會(huì) 有半點(diǎn)讓人頭疼地地方。

因此,如果您像裝載整個(gè)數(shù)據(jù)庫(kù)Meet_A_Geek的內(nèi)容到一個(gè)文件中,可以使用下面的命令:

bin/mysqldump –p Meet_A_Geek > MeetAGeek_Dump_File.txt

這個(gè)語(yǔ)句也允許您指定一個(gè)表進(jìn)行dump(備份/導(dǎo)出/裝載?)。如果您只是希望把數(shù)據(jù)庫(kù)Meet_A_Geek中的表Orders中的整個(gè)內(nèi)容導(dǎo)出到一個(gè)文件,可以使用下面的命令:

bin/mysqldump –p Meet_A_Geek Orders > MeetAGeek_Orders.txt

這個(gè)非常的靈活,您甚至可以使用WHERE從句來(lái)選擇您需要的記錄導(dǎo)出到文件中。要達(dá)到這樣的目的,可以使用類(lèi)似于下面的命令:

bin/mysqldump –p –where="Order_ID > 2000" Meet_A_Geek Orders > Special_Dump.txt

mysqldump工具有大量的選項(xiàng),部分選項(xiàng)如下表:

選項(xiàng)/Option 作用/Action Performed

--add-drop-table

這個(gè)選項(xiàng)將會(huì)在每一個(gè)表的前面加上DROP TABLE IF EXISTS語(yǔ)句,這樣可以保證導(dǎo)回MySQL數(shù)據(jù)庫(kù)的時(shí)候不會(huì)出錯(cuò),因?yàn)槊看螌?dǎo)回的時(shí)候,都會(huì)首先檢查表是否存在,存在就刪除

--add-locks

這個(gè)選項(xiàng)會(huì)在INSERT語(yǔ)句中捆上一個(gè)LOCK TABLE和UNLOCK TABLE語(yǔ)句。這就防止在這些記錄被再次導(dǎo)入數(shù)據(jù)庫(kù)時(shí)其他用戶(hù)對(duì)表進(jìn)行的操作

-c or - complete_insert

這個(gè)選項(xiàng)使得mysqldump命令給每一個(gè)產(chǎn)生INSERT語(yǔ)句加上列(field)的名字。當(dāng)把數(shù)據(jù)導(dǎo)出導(dǎo)另外一個(gè)數(shù)據(jù)庫(kù)時(shí)這個(gè)選項(xiàng)很有用。

--delayed-insert 在INSERT命令中加入DELAY選項(xiàng)

-F or -flush-logs 使用這個(gè)選項(xiàng),在執(zhí)行導(dǎo)出之前將會(huì)刷新MySQL服務(wù)器的log.

-f or -force 使用這個(gè)選項(xiàng),即使有錯(cuò)誤發(fā)生,仍然繼續(xù)導(dǎo)出

--full 這個(gè)選項(xiàng)把附加信息也加到CREATE TABLE的語(yǔ)句中

-l or -lock-tables 使用這個(gè)選項(xiàng),導(dǎo)出表的時(shí)候服務(wù)器將會(huì)給表加鎖。

-t or -no-create- info

這個(gè)選項(xiàng)使的mysqldump命令不創(chuàng)建CREATE TABLE語(yǔ)句,這個(gè)選項(xiàng)在您只需要數(shù)據(jù)而不需要DDL(數(shù)據(jù)庫(kù)定義語(yǔ)句)時(shí)很方便。

-d or -no-data 這個(gè)選項(xiàng)使的mysqldump命令不創(chuàng)建INSERT語(yǔ)句。

在您只需要DDL語(yǔ)句時(shí),可以使用這個(gè)選項(xiàng)。

--opt 此選項(xiàng)將打開(kāi)所有會(huì)提高文件導(dǎo)出速度和創(chuàng)造一個(gè)可以更快導(dǎo)入的文件的選項(xiàng)。

-q or -quick 這個(gè)選項(xiàng)使得MySQL不會(huì)把整個(gè)導(dǎo)出的內(nèi)容讀入內(nèi)存再執(zhí)行導(dǎo)出,而是在讀到的時(shí)候就寫(xiě)入導(dǎo)文件中。

-T path or -tab = path 這個(gè)選項(xiàng)將會(huì)創(chuàng)建兩個(gè)文件,一個(gè)文件包含DDL語(yǔ)句或者表創(chuàng)建語(yǔ)句,另一個(gè)文件包含數(shù)據(jù)。DDL文件被命名為table_name.sql,數(shù)據(jù)文件被命 名為table_name.txt.路徑名是存放這兩個(gè)文件的目錄。目錄必須已經(jīng)存在,并且命令的使用者有對(duì)文件的特權(quán)。

-w "WHERE Clause" or -where = "Where clause "

如前面所講的,您可以使用這一選項(xiàng)來(lái)過(guò)篩選將要放到 導(dǎo)出文件的數(shù)據(jù)。

假定您需要為一個(gè)表單中要用到的帳號(hào)建立一個(gè)文件,經(jīng)理要看今年(2004年)所有的訂單(Orders),它們并不對(duì)DDL感興趣,并且需要文件有逗號(hào)分隔,因?yàn)檫@樣就很容易導(dǎo)入到Excel中。 為了完成這個(gè)人物,您可以使用下面的句子:

bin/mysqldump –p –where "Order_Date > ='2000-01-01'"

–tab = /home/mark –no-create-info –fields-terminated-by=, Meet_A_Geek Orders

這將會(huì)得到您想要的結(jié)果。

schema:模式

The set of statements, expressed in data definition language, that completely describe the structure of a data base.

一組以數(shù)據(jù)定義語(yǔ)言來(lái)表達(dá)的語(yǔ)句集,該語(yǔ)句集完整地描述了數(shù)據(jù)庫(kù)的結(jié)構(gòu)。

SELECT INTO OUTFILE :

如 果您覺(jué)得mysqldump工具不夠酷,就使用SELECT INTO OUTFILE吧, MySQL同樣提供一個(gè)跟LOAD DATA INFILE命令有相反作用的命令,這就是SELECT INTO OUTFILE 命令,這兩個(gè)命令有很多的相似之處。首先,它們有所有的選項(xiàng)幾乎相同。現(xiàn)在您需要完成前面用mysqldump完成的功能,可以依照下面的步驟進(jìn)行操作:

1. 確保mysqld進(jìn)程(服務(wù))已經(jīng)在運(yùn)行

2. cd /usr/local/mysql

3. bin/mysqladmin ping ;// 如果這個(gè)句子通不過(guò),可以用這個(gè):mysqladmin -u root -p ping

mysqladmin ping用于檢測(cè)mysqld的狀態(tài),is alive說(shuō)明正在運(yùn)行,出錯(cuò)則可能需要用戶(hù)名和密碼。

4. 啟動(dòng)MySQL 監(jiān)聽(tīng)程序.

5. bin/mysql –p Meet_A_Geek;// 進(jìn)入mysql命令行,并且打開(kāi)數(shù)據(jù)庫(kù)Meet_A_Geek,需要輸入密碼

6. 在命令行中,輸入一下命令:

SELECT * INTO OUTFILE '/home/mark/Orders.txt'

FIELDS

TERMINATED BY = ','

FROM Orders

WHERE Order_Date > = '2000-01-01'

在你按了Return(回車(chē))之后,文件就創(chuàng)建了。這個(gè)句子就像一個(gè)規(guī)則的SELECT語(yǔ)句,只是把想屏幕的輸出重定向到了文件中。這意味這您可以使用JOIN來(lái)實(shí)現(xiàn)多表的高級(jí)查詢(xún)。這個(gè)特點(diǎn)也可以被用作一個(gè)報(bào)表產(chǎn)生器。

比方說(shuō),您可以組合這一章中討論的方法來(lái)產(chǎn)生一個(gè)非常有趣的查詢(xún),試試這個(gè):

在mysql目錄建立一個(gè)名為Report_G.rpt 的文本文件,加入下面的行:

USE Meet_A_Geek;

INSERT INTO Customers (Customer_ID, Last_Name, First_Name)

VALUES (NULL, "Kinnard", "Vicky");

INSERT INTO Customers (Customer_ID, Last_Name, First_Name)

VALUES (NULL, "Kinnard", "Steven");

INSERT INTO Customers (Customer_ID, Last_Name, First_Name)

VALUES (NULL, "Brown", "Sam");

SELECT Last_Name INTO OUTFILE '/home/mark/Report.rpt'

FROM Customers WHERE Customer_ID > 1;

然后確認(rèn) mysql進(jìn)程在運(yùn)行,并且您在mysql目錄中, 輸入下面的命令:

bin/mysql < Report_G.rpt檢查您命名作為輸出的文件,這個(gè)文件將會(huì)包含所有您在Customers表中輸入的顧客的姓。 如您所見(jiàn),您可以使用今天學(xué)到的導(dǎo)入/導(dǎo)出(import/export)的方法來(lái)幫助得到報(bào)表。

關(guān)鍵字:MySQL、數(shù)據(jù)庫(kù)、導(dǎo)入、導(dǎo)出

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話(huà):(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專(zhuān)項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開(kāi)網(wǎng)站