【问题标题】:MYSQL import data from .csv using LOAD DATA INFILE with Ascending order to a particular columnMYSQL 使用 LOAD DATA INFILE 从 .csv 导入数据,升序到特定列
【发布时间】:2020-02-19 15:23:27
【问题描述】:

我已从 .csv 文件加载数据,并使用 LoadData 方法将其插入数据库。

以下查询对我有用:

LOAD DATA LOCAL INFILE '"$FILE1"' 
INTO TABLE inventory FIELDS 
TERMINATED BY ','
ENCLOSED BY '\"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES (@ignore ,StockType ,StockNo ,ServiceVIN ,YearMake ,CMake ,SModel ,BodyType ,Color ,Interiorcolor ,@ignore ,EngineSize ,@ignore ,Transmission ,Miles ,List ,@ignore ,@ignore ,Drive ,@ignore ,Details ,@ignore ,ModelType ,@ignore ,@ignore ,@ignore ,Trim) 
SET CreatedAt = NOW();"

但是我需要在List Column中按升序插入数据。 这可能吗?

我已经在这个查询中尝试了 orderby 但它不起作用。

工作查询:

LOAD DATA LOCAL INFILE '"$FILE1"' 
INTO TABLE inventory FIELDS TERMINATED BY ',' 
ENCLOSED BY '\"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES (@ignore ,StockType ,StockNo ,ServiceVIN ,YearMake ,CMake ,SModel ,BodyType ,Color ,Interiorcolor ,@ignore ,EngineSize ,@ignore ,Transmission ,Miles ,List ,@ignore ,@ignore ,Drive ,@ignore ,Details ,@ignore ,ModelType ,@ignore ,@ignore ,@ignore ,Trim) 
SET CreatedAt = NOW();"

【问题讨论】:

  • 在导入前订购。

标签: mysql csv import sql-order-by load-data-infile


【解决方案1】:

如果数据量不太大,可以使用SELECTstatement 的结果作为INSERT 语句的数据源。

一步一步:

LOAD DATA LOCAL INFILE '"$FILE1"' 
INTO TABLE inventory FIELDS TERMINATED BY ',' 
ENCLOSED BY '\"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES (@ignore ,StockType ,StockNo ,ServiceVIN ,YearMake ,CMake ,SModel ,BodyType ,Color ,Interiorcolor ,@ignore ,EngineSize ,@ignore ,Transmission ,Miles ,List ,@ignore ,@ignore ,Drive ,@ignore ,Details ,@ignore ,ModelType ,@ignore ,@ignore ,@ignore ,Trim) 
SET CreatedAt = NOW();"

INSERT INTO inventory(column_list)
SELECT 
   select_list 
FROM inventory_tmp
ORDER BY column1

您可以在此处阅读更多详细信息:http://www.mysqltutorial.org/mysql-insert-into-select/

选项 2: 您还可以在导入数据库之前对文本文件进行排序。 遵循本指南:https://stackoverflow.com/a/2100384/12263045

【讨论】:

    猜你喜欢
    • 2021-10-02
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 2016-07-30
    • 2013-05-03
    相关资源
    最近更新 更多