如何正确地将数据从 *.csv 文件导入 mysql 数据库中的给定表

Posted

技术标签:

【中文标题】如何正确地将数据从 *.csv 文件导入 mysql 数据库中的给定表【英文标题】:how to correctly import data from *.csv file to a given table in mysql database 【发布时间】:2016-07-19 00:59:37 【问题描述】:

我有一个 .csv 文件,其中包含如下行:

16.11.2015 00:00:01.118,0.94674,0.94641,1000000.0000,1750000.0000

现在我需要将 mysql 数据库中的值导入到一个有 9 个列的表中:

col1 - 16.11.2015 col2 - 00 col3 - 00 col4 - 01 col5 - 118 col6 - 0.94674 col7 - 0.94641 col8 - 1000000.0000 col9 - 1750000.0000

有谁知道如何分隔值 f.e.使用标准命令,例如: 将文件“file.csv”中的数据加载到以“,”结尾的表字段的表名中;

我试图在 mysql 知识库上寻找一些东西,但没有结果,这将是可行的......谢谢

【问题讨论】:

为什么要拆分日期\时间而不是将其存储为一个? 【参考方案1】:

你在寻找这样的东西吗?

 $file_handle = fopen($file, "r"); //opens CSV
    while (($row = fgetcsv($file_handle, 1000, ",")) !== false)
           ...code..
    

http://php.net/manual/fr/function.fgetcsv.php

【讨论】:

如果可能的话,我想要一个直接的 mysql 命令?我想使用 LOAD 命令将 csv 文件直接加载到数据库中。【参考方案2】:

如果可能的话,我想要一个直接的 mysql 命令?我想使用 LOAD 命令将 csv 文件直接加载到数据库中。

【讨论】:

【参考方案3】:

你看过http://dev.mysql.com/doc/refman/5.7/en/load-data.html吗?

此外,一些数据库管理器/工具可以导入 CSV 文件。我正在使用 Sequel Pro,它有能力这样做。

【讨论】:

但我需要一个命令,然后它将成为我自己的应用程序的一部分。也许用 1-step coomand 不可能做到这一点......??

以上是关于如何正确地将数据从 *.csv 文件导入 mysql 数据库中的给定表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 sqlite3 中正确导入和配置 .csv 表

如何有效且快速地将大型 (6 Gb) .csv 文件导入 R,而不会导致 R REPL 崩溃?

从csv文件导入python时如何替换数字

如何有效地将数据从 CSV 加载到数据库中?

如何将 JSON,Text,XML,CSV 数据文件导入 MySQL

MySQL Workbench 从 CSV 导入 NULL