zoukankan      html  css  js  c++  java
  • 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=' ',Linux上设置为:line-terminated=' '。

     案例演示:

    [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='	' --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 ','”指定了逗号作为两个字段值之间的标志,默认为“ ”制表符。
    (2)ENCLOSED BY子句用来指定包裹文件中字符值的符号,例如,“ENCLOSED BY ' " '”表示文件中字符值放在双引号之间,

    若加上关键字OPTIONALLY表示所有的值都放在双引号之间,则只有CHAR和VARCHAR等字符数据字段被包括。

    (3)ESCAPED BY子句用来指定转义字符,例如,“ESCAPED BY '*'”将“*”指定为转义字符,取代“”,如空格将表示为“*N”。
    ● LINES子句:在LINES子句中使用TERMINATED BY指定一行结束的标志,如“LINES TERMINATED BY '?'”表示一行以“?”作为结束标志,默认值为“ ”。

    LINES STARTING BY ''表示每行数据开头的字符,可以为单个或多个,默认不是有任何字符.

  • 相关阅读:
    android WebView 加载html5
    android 摄像头的使用
    android 传感器类 sensor
    关于java的一些东西
    android 网络连接管理机制
    利用Layout实现Button的不规则布局
    Android 推送通知指南(转载)
    android开发小问题随记(附1)
    ubuntu下搭建android开发环境(转载)
    北斗小辣椒双核升级攻略之一
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/9975043.html
Copyright © 2011-2022 走看看