MySQL基礎之---mysqlimport工具和LOAD DATA命令導入文本文件


 1、mysqlimport工具的使用

看一下命令的使用方法:

shell > mysqlimport -u root -p [--LOCAL] DBname  File  [option]
--fields-terminated-by=name           字段分隔符
--fields-enclosed-by=name            字段引用符
--fields-optionally-enclosed-by=name     字段引用符(只在CHAR、VARCHAR、TEXT等字符型字段上使用)
--fields-escaped-by=name            轉移字符
--lines-terminated-ny=name           記錄結束符
--ignore-lines=number              忽略前幾行

注意:如果導入導出是跨平台操作的(比如Windows和Linux),那么就要注意設置參數line-terminated-by,因為兩個操作系統的行結尾符是不一樣的。Windows上是:line=terminated-by='\r\n',Linux上設置為:line-terminated='\n'。

 案例演示:

[tidb@:vg_adn_tidbCkhsTest /tmp/bak]$mysql -uroot -p123456 -P 3306 mob_adn < test.sql              
mysql: [Warning] Using a password on the command line interface can be insecure.
[tidb@:vg_adn_tidbCkhsTest /tmp/bak]$mysqlimport -uroot -p123456 -P 3306 -h 127.0.0.1 mob_adn /tmp/bak/test.txt --fields-terminated-by='\t' --fields-optionally-enclosed-by='"'
mysqlimport: [Warning] Using a password on the command line interface can be insecure.
mob_adn.test: Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

由於mysqldump導出來的數據有兩個文件,一個是sql文件,一個是txt文件。所以這里先導入表的創建語句,即sql文件。然后再導入txt的文本文件

2、使用LOAD   DATA  INFILE方式導入文本文件

LOAD DATA [LOCAL] INFILE 'filename' INTO TABLE dataname.tablename [OPTION] [IGNORE number LINES]
fields terminated by 'VALUE'
fields [OPTIONALLY]  ENCLOSED BY 'VALUE'
fields ESCAPED BY 'VALUE'
lines STARTING by 'VALUE'
lines terminated by 'VALUE'

[LOCAL]表示如果是本地文件導入需要加上此參數

● fields子句:在FIELDS子句中有三個子句:TERMINATED BY、 [OPTIONALLY] ENCLOSED BY和ESCAPED BY。

如果指定了FIELDS子句,則這三個子句中至少要指定一個。
(1)TERMINATED BY用來指定字段值之間的符號,例如,“TERMINATED BY ','”指定了逗號作為兩個字段值之間的標志,默認為“\t”制表符。
(2)ENCLOSED BY子句用來指定包裹文件中字符值的符號,例如,“ENCLOSED BY ' " '”表示文件中字符值放在雙引號之間,

若加上關鍵字OPTIONALLY表示所有的值都放在雙引號之間,則只有CHAR和VARCHAR等字符數據字段被包括。

(3)ESCAPED BY子句用來指定轉義字符,例如,“ESCAPED BY '*'”將“*”指定為轉義字符,取代“\”,如空格將表示為“*N”。
● LINES子句:在LINES子句中使用TERMINATED BY指定一行結束的標志,如“LINES TERMINATED BY '?'”表示一行以“?”作為結束標志,默認值為“\n”。

LINES STARTING BY ''表示每行數據開頭的字符,可以為單個或多個,默認不是有任何字符.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM