当前位置: 首页 > 知识库问答 >
问题:

MYSQL使用加载数据填充从csv导入数据

萧嘉禧
2023-03-14

我正在将一个CSV文件中的20000行数据导入Mysql。

CSV中的列与MySQL表中的列的顺序不同。如何自动分配Mysql表列对应的列?

当我执行

LOAD DATA INFILE'abc.csv' INTO TABLE abc

此查询将所有数据添加到第一列。

请建议将数据导入Mysql的自动语法。

共有3个答案

江丰羽
2023-03-14

导入文件之前,必须准备以下内容:

  • 文件中的数据导入到的数据库表。

假设我们有下表:

使用以下查询创建表:

CREATE TABLE IF NOT EXISTS `survey` (
  `projectId` bigint(20) NOT NULL,
  `surveyId` bigint(20) NOT NULL,
  `views` bigint(20) NOT NULL,
  `dateTime` datetime NOT NULL
);

您的CSV文件必须格式正确,例如,请参阅以下附加图像:

如果一切顺利。。请执行以下查询以从CSV文件加载数据:

注意:请添加CSV文件的绝对路径

LOAD DATA INFILE '/var/www/csv/data.csv' 
INTO TABLE survey 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;

如果一切都完成了。你已经成功地从CSV导出数据到表

丁茂
2023-03-14

您可能需要设置FIELDS TERMINATED BY'、'或任何分隔符。

对于CSV文件,您的声明应如下所示:

LOAD DATA INFILE 'data.csv' INTO TABLE tbl_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
邵伟泽
2023-03-14

可以使用LOAD DATA INFILE命令将csv文件导入表。

检查此链接MySQL-加载数据填充。

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

对于MySQL 8.0用户

使用LOCAL关键字hold security risks,从MySQL 8.0开始,LOCAL功能默认设置为False。您可能会看到错误:

错误1148:此MySQL版本不允许使用该命令

您可以按照文档中的说明进行覆盖。请注意,这样的覆盖不会解决安全问题,而只是承认您知道并愿意承担风险。

 类似资料:
  • 我需要用CSV文件填充几个表。我试图使用一个循环,每一行都插入,但是一个有65,000条记录的文件需要我20分钟以上。 我想使用MySQL命令,但是我收到了这个消息: 第112行C:\xampp\htdocs\myProject\apps\backend\modules\member\actions\actions.class.php中禁止加载数据本地填充 经过一点研究,我了解到需要将PDO的一个

  • 问题内容: 尝试从CSV导入数据时遇到了一些问题,但还有一些问题,我还没有解决。 首先,这是我的代码,可以帮助您更好地了解事物(将其整理一些,删除CSS和DB连接): 从本质上讲,这是我对各种方法进行多次尝试后发现的示例的改编。 我的CSV有两列数据,第一列是文本,第二列是整数数据库中的表也有两列,第一列称为“文本”,第二列为“数字” 所以我的问题是: 正在上传的文本只是在每个字段中显示为0,我不

  • 问题内容: 我有一个文件,可以包含3到4列以逗号分隔的数值。空字段位于行末时会被定义为例外: 下表是在MySQL中创建的: 我正在尝试使用MySQL LOAD命令加载数据: 结果表: 问题在于,当原始数据中的字段为空且未定义时,MySQL由于某种原因不会使用列默认值(为NULL),而是使用零。当字段全部丢失时,正确使用NULL。 不幸的是,在这一阶段,我必须能够区分NULL和0,因此将不胜感激。

  • 问题内容: 我有一个QTableWidget,我将此表中的数据导出到一个csv文件中。但是现在,我想打开一个现有的csv文件,并使用此数据填充我的表。我该怎么做? 这是我的导出代码,我想要一个“填充”代码,我真的不知道该怎么做。.我知道如何读取一个csv,但我不知道如何用此csv数据填充我的表。 问题答案: 看起来您可以在此处使用该模块: PyQt5版本:

  • 问题内容: 我有以下结构的csv文件: 使用以下MySQL函数如何导入MySQL表的第一和第三列: 我为我的英语道歉! 提前致谢 ! 问题答案: 您可以指定列,并将不需要的列标记为“ @dummy”。 替换,并且只要你喜欢。要设置不在数据文件中的其他列,您可以这样做: 作为进一步的参考,我建议您看一下MySQL参考。

  • 此应用程序将在Person类的帮助下写入和读取csv文件。它不会用数据填充表。我试图在将csv文件加载到list=new ArrayList()的同时执行表的加载,方法是将相同的数据加载到plist=new ArrayList(),然后将此plist传输到data=FXCollections。可观察列表(plist) 请解释此代码失败的地方。是否无法在加载列表ArrayList的同时加载obser