【问题标题】:merge multiple CSV files into one database using PhpMyAdmin使用 PhpMyAdmin 将多个 CSV 文件合并到一个数据库中
【发布时间】:2020-01-27 20:45:01
【问题描述】:

我使用 (PhpMyAdmin) 创建了一个数据库,其中包括一个表(包含 4 列) 目前数据库为空。 我有 5 个 CSV 文件,每个文件包含大约 20 列。 我想导入指定的列(例如,五个 CSV 文件中的第 1、2、3 和 4 列)并将它们合并到一个数据库中 换句话说,导入第一个 csv 文件的前 4 列并对所有文件重复相同的过程,最后我想要一个有 4 列和多行的数据库

我尝试在使用 PhpMyAdmin 时这样做,但它显示了几个错误并且数据库仍然是空的,没有更新。

任何帮助将不胜感激

【问题讨论】:

  • Sooo 你期待什么作为答案?
  • @DiarSelimi ,我曾尝试在使用 PhpMyAdmin 时这样做,但它显示了几个错误并且数据库仍然是空的,没有更新

标签: mysql phpmyadmin


【解决方案1】:

MySQL 的LOAD DATA Syntax 可以做到这一点..
最小的答案,因为问题信息也很少..

BNF

LOAD DATA
    [LOW_PRIORITY | CONCURRENT] [LOCAL]
    INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [CHARACTER SET charset_name]
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]
    [IGNORE number {LINES | ROWS}]
    [(col_name_or_user_var
        [, col_name_or_user_var] ...)]
    [SET col_name={expr | DEFAULT},
        [, col_name={expr | DEFAULT}] ...]

查询

LOAD DATA LOCAL INFILE 'csv1.csv' INTO TABLE <your_table_name>
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(
    col1
  , col2 
  , col3
  , col4
);

col1, col2, col3, col4 在所有查询中都需要是您要导入的表的有效列名。 您还需要重复您拥有的 foreach csv 文件的语句..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    相关资源
    最近更新 更多