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 ''表示每行数据开头的字符,可以为单个或多个,默认不是有任何字符.

posted @ 2018-11-17 18:22  峰哥ge  阅读(2606)  评论(0编辑  收藏  举报