mysql中的load敕令應用辦法。本站提示廣大學習愛好者:(mysql中的load敕令應用辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql中的load敕令應用辦法正文
應用mysql 中的load 敕令,講txt 文件中的內容加載到數據庫表中,例如,創立table,稱號是user,一個字段username;以後有db.txt文件,內容是以空格離開的用戶名,例如:xiaowang xiaoliu zhangsan
將該文件加載到數據表user中,應用敕令便可:
load data local infile "/home/beaver/db" into table user lines terminated by ' ';
作者 Beaver's
LOAD DATA INFILE
這是我們要引見的最初一個導入數據到MySQL數據庫中的辦法。這個敕令與mysqlimport異常類似,但這個辦法可以在mysql敕令行中應用。也就是說您可以在一切應用API的法式中應用這個敕令。應用這類辦法,您便可以在運用法式中導入您想要導入的數據。應用這個敕令之前,mysqld過程(辦事)必需曾經在運轉。
啟動mysql敕令行:
bin/mysql –p
按提醒輸出暗碼,勝利進入mysql敕令行以後,輸出上面的敕令:
USE Meet_A_Geek;
LOAD DATA INFILE "/home/mark/data.sql" INTO TABLE Orders;
簡略的講,如許將會把文件data.sql中的內容導入到表Orders中,如mysqlimport對象一樣,這個敕令也有一些可以選擇的參數。好比您須要把本身的電腦上的數據導入到長途的數據庫辦事器中,您可使用上面的敕令:
LOAD DATA LOCAL INFILE "C:\MyDocs\SQL.txt" INTO TABLE Orders;
下面的LOCAL參數表現文件是當地的文件,辦事器是您所上岸的辦事器。如許就省去了應用ftp來上傳文件到辦事器,MySQL替你完成了. 您也能夠設置拔出語句的優先級,假如您要把它標志為低優先級(LOW_PRIORITY),那末MySQL將會比及沒有其別人讀這個表的時刻,才把拔出數據。可使用以下的敕令:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" INTO TABLE Orders;
您也能夠指定能否在拔出數據的時刻,代替或許疏忽文件與數據表中反復的鍵值。替換反復的鍵值的語法:
LOAD DATA LOW_PRIORITY INFILE "/home/mark/data.sql" REPLACE INTO TABLE Orders;
下面的句子看起來有點愚笨,但卻把症結字放在了讓您的分析器可以懂得的處所。
上面的一對選項描寫了文件的記載格局,這些選項也是在mysqlimport對象中可以用的。他們在這裡看起來有點分歧。起首,要用到FIELDS症結字,假如用到這個症結字,MySQL分析器願望看到至多有上面的一個選項:
TERMINATED BY character
ENCLOSED BY character
ESCAPED BY character
這些症結字與它們的參數跟mysqlimport中的用法是一樣的. The TERMINATED BY 描寫字段的分隔符,默許情形下是tab字符(\t)
ENCLOSED BY描寫的是字段的括起字符。比喻以引號括起每個字段。
ESCAPED BY 描寫的本義字符。默許的是反些槓(backslash:\ ).
上面依然應用後面的mysqlimport敕令的例子,用LOAD DATA INFILE語句把異樣的文件導入到數據庫中:
LOAD DATA INFILE "/home/mark/Orders.txt" REPLACE INTO TABLE Orders FIELDS TERMINATED BY ',' ENCLOSED BY '"';
LOAD DATA INFILE語句中有一個mysqlimport對象中沒有特色:
LOAD DATA INFILE 可以按指定的列把文件導入到數據庫中。當我們要把數據的一部門內容導入的時刻,這個特色就很主要。比喻說,我們要從Access數據庫進級到MySQL數據庫的時刻,須要參加一些欄目(列/字段/field)到MySQL數據庫中,以順應一些額定的須要。
這個時刻,我們的Access數據庫中的數據依然是可用的,然則由於這些數據的欄目(field)與MySQL中的不再婚配,是以而沒法再應用mysqlimport對象。雖然如斯,我們依然可使用LOAD DATA INFILE,上面的例子顯示了若何向指定的欄目(field)中導入數據:
LOAD DATA INFILE "/home/Order.txt" INTO TABLE Orders(Order_Number, Order_Date, Customer_ID);
如您所見,我們可以指定須要的欄目(fields)。這些指定的字段仍然是以括號括起,由逗號分隔的,假如您漏掉了個中任何一個,MySQL將會提示您^_^