MySQL从文件导入数据:LOAD DATA INFILE简单使用

理论

        LOAD DATA INFILE语句用于高速的从文本文件读取行,并装入一个表中。文件名必须为一个文字字符串。

LOAD DATA [LOCAL] INFILE 'filename.txt'
INTO TABLE tb_name
[FIELDS
    [TERMINTED BY 'string']
]
[LINES
    [STARTING BY 'string']
    [TERMINTED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]

[LOCAL]

        如果指定了LOCAL,则被认为与连接的客户端有关,文件会被客户主机上的客户端读取,并被发送到服务器。文件需指定一个完整的路径名称,以指定确切的位置。如果给定的是一个相对的路径名称,则此名称会被理解为相对于相对于启动客户端时所在的目录。

        如果LOCAL没有被指定,则文件必须位于服务器主机上,并且被服务器直接读取。当在服务器上为文件定位时,如果给定了一个绝对的路径名称,则服务器使用此路径名称;如果给定了一个或多个带引导主键的相对路径名称,则服务器会搜索相对于服务器数据目录的文件;如果给定了一个不带引导组件的文件名称,则服务器会在默认数据库的数据目录(/mysql/data/dbname)中寻找文件。

        注意:使用正斜杠(/)指定Windows路径名称,如果是反斜杠,则必须使用两个(\\)。

        只有当服务器与客户端都许可时,LOCAL才可运行。如果使用--local-infile=0来启动mysqld,则LOCAL不运行。可在MySQL的配置文件中做好配置,如下所示:

 [FIELDS]

        如果你指定了一个FIELDS子句,则每个亚子句也是自选的,不过,必须指定其中至少一个。

        [TERMINTED BY 'string']指定文件中字段间的分隔符,若不指定,则默认为‘\t’。

[LINES]

        如果你指定了一个LINES子句,则每个亚子句也是自选的,不过,必须指定其中至少一个。

        [STARTING BY 'string']指定每一行的起始符,若不指定,默认为空。

        [TERMINTED BY 'string']指定每一行的终止符,如果是windows产生的文件,需指定终止符为‘\r\n’,若不指定,默认为‘\n’。

        注意:FIELDS和LINES子句的语法对于两个语句是一样的。两个子句都是自选的,但是如果两个都被指定了,FIELDS必须位于LINES前。

[IGNORE number LINES]

        这个选项用于在文件的开始处忽略行。

[(col_name_or_user_var,...)]

        这里指定文件中各列的数据插入到数据库的对应字段。

[SET col_name = expr,...]

        这个选项用于指定数据库每一列的值。

实例

LOAD DATA LOCAL INFILE ‘C:\\Users\\Administrator\\Desktop\\DS\\allorders\\20230221.txt’
INTO TABLE fbaorders CHARACTER SET utf8mb4
LINES
    TERMINATED BY "\r\n"
IGNORE 1 LINES
(amazon_order_id, merchant_order_id, shipment_id, shipment_item_id, amazon_order_item_id, merchant_order_item_id, purchase_date, payments_date)
SET account=‘BTL’

 本章内容参考来源:13.2.5. LOAD DATA INFILE语法_MySQL 中文文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值