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

  • 相关阅读:
    Scrapy 概览笔记
    Python 依赖版本控制 (requirements.txt 文件生成和使用)
    Python 虚拟空间的使用
    macOS 所有版本 JDK 安装指南 (with Homebrew)
    鉴权那些事
    Java 位运算符和 int 类型的实现
    ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门
    如何做好一次知识或技术分享
    ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门
    ASP.NET Core 入门教程 3、ASP.NET Core MVC路由入门
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/9975043.html
Copyright © 2011-2022 走看看