USE Meet_A_Geek; LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders;
簡單的講,這樣將會把文件data.sql中的內(nèi)容導(dǎo)入到表Orders中,如MySQLimport工具一樣,這個命令也有一些可以選擇的參數(shù)。比如您需要把自己的電腦上的數(shù)據(jù)導(dǎo)入到遠(yuǎn)程的數(shù)據(jù)庫服務(wù)器中,您可以使用下面的命令: LOAD DATA LOCAL INFILE "C:MyDocsSQL.txt" INTO TABLE Orders; 上面的LOCAL參數(shù)表示文件是本地的文件,服務(wù)器是您所登陸的服務(wù)器。
這樣就省去了使用ftp來上傳文件到服務(wù)器,MySQL替你完成了.
您也可以設(shè)置插入語句的優(yōu)先級,如果您要把它標(biāo)記為低優(yōu)先級(LOW_PRIORITY),那么MySQL將會等到?jīng)]有其他人讀這個表的時候,才把插入數(shù)據(jù)。可以使用如下的命令: LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders;
TERMINATED BY character ENCLOSED BY character ESCAPED BY character
這些關(guān)鍵字與它們的參數(shù)跟MySQLimport中的用法是一樣的. The TERMINATED BY 描述字段的分隔符,默認(rèn)情況下是tab字符(t) ENCLOSED BY描述的是字段的括起字符。比方以引號括起每一個字段。 ESCAPED BY 描述的轉(zhuǎn)義字符。默認(rèn)的是反些杠(backslash: ).
下面仍然使用前面的MySQLimport命令的例子,用LOAD DATA INFILE語句把同樣的文件導(dǎo)入到數(shù)據(jù)庫中:
LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ',' ENCLOSED BY '"';
這個時候,我們的Access數(shù)據(jù)庫中的數(shù)據(jù)仍然是可用的,但是因為這些數(shù)據(jù)的欄目(field)與MySQL中的不再匹配,因此而無法再使用MySQLimport工具。盡管如此,我們?nèi)匀豢梢允褂肔OAD DATA INFILE,下面的例子顯示了如何向指定的欄目(field)中導(dǎo)入數(shù)據(jù):
LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);
-c or - complete_insert 這個選項使得MySQLdump命令給每一個產(chǎn)生INSERT語句加上列(field)的名字。當(dāng)把數(shù)據(jù)導(dǎo)出導(dǎo)另外一個數(shù)據(jù)庫時這個選項很有用。
--delayed-insert 在INSERT命令中加入DELAY選項 -F or -flush-logs 使用這個選項,在執(zhí)行導(dǎo)出之前將會刷新MySQL服務(wù)器的log. -f or -force 使用這個選項,即使有錯誤發(fā)生,仍然繼續(xù)導(dǎo)出 --full 這個選項把附加信息也加到CREATE TABLE的語句中 -l or -lock-tables 使用這個選項,導(dǎo)出表的時候服務(wù)器將會給表加鎖。 -t or -no-create- info 這個選項使的MySQLdump命令不創(chuàng)建CREATE TABLE語句,這個選項在您只需要數(shù)據(jù)而不需要DDL(數(shù)據(jù)庫定義語句)時很方便。
-d or -no-data 這個選項使的MySQLdump命令不創(chuàng)建INSERT語句。 在您只需要DDL語句時,可以使用這個選項。 --opt 此選項將打開所有會提高文件導(dǎo)出速度和創(chuàng)造一個可以更快導(dǎo)入的文件的選項。 -q or -quick 這個選項使得MySQL不會把整個導(dǎo)出的內(nèi)容讀入內(nèi)存再執(zhí)行導(dǎo)出,而是在讀到的時候就寫入導(dǎo)文件中。 -T path or -tab = path 這個選項將會創(chuàng)建兩個文件,一個文件包含DDL語句或者表創(chuàng)建語句,另一個文件包含數(shù)據(jù)。DDL文件被命名為table_name.sql,數(shù)據(jù)文件被命名為table_name.txt.路徑名是存放這兩個文件的目錄。目錄必須已經(jīng)存在,并且命令的使用者有對文件的特權(quán)。
-w "WHERE Clause" or -where = "Where clause " 如前面所講的,您可以使用這一選項來過篩選將要放到導(dǎo)出文件的數(shù)據(jù)。
schema:模式The set of statements, expressed in data definition language, that completely describe the structure of a data base. 一組以數(shù)據(jù)定義語言來表達(dá)的語句集,該語句集完整地描述了數(shù)據(jù)庫的結(jié)構(gòu)。
SELECT INTO OUTFILE :
如果您覺得MySQLdump工具不夠酷,就使用SELECT INTO OUTFILE吧, MySQL同樣提供一個跟LOAD DATA INFILE命令有相反作用的命令,這就是SELECT INTO OUTFILE 命令,這兩個命令有很多的相似之處。首先,它們有所有的選項幾乎相同。現(xiàn)在您需要完成前面用MySQLdump完成的功能,可以依照下面的步驟進(jìn)行操作: