问题标签 [load-data-infile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1344 浏览

mysql - 定期将数据加载到表中的最佳方法是什么

我有一个带有静态表的数据库,需要每周从 CSV 更新。表是 Mysql MyISAM 并且静态我的意思是它们用于只读(显然从 CVS 更新时除外)。

大约有 50 个表,每周要重新加载大约 200mb 的数据。

我可以考虑3种方式:

  1. 截断表
  2. 从文件加载数据

或者

  1. 为每个表创建一个临时表
  2. 在那里加载数据
  3. 截断(或删除行?)原始表
  4. 从临时表中插入原始表选择 *。

或者

  1. 创建 table_new 并在那里加载数据
  2. 将原始表重命名为 table_old(或完全删除表)
  3. 将 table_new 重命名为原始表

你认为最有效的方法是什么?

0 投票
2 回答
48 浏览

sql - 如何格式化 mytext 文件?

我必须将一组问题加载到 MYSQL 数据库表中。但是表格式如下 QNO Questions Option a Option b Option c Option d Rightanswer... 但是我需要使用 LOADINFILE 命令加载到数据库中的文本文件格式不同. 如何将我的文本文件格式与我的表格格式相匹配?

0 投票
1 回答
1988 浏览

sql - 如何从 CSV 获取 SQL LOAD DATA 以在加载时遵守列类型?

我正在使用 and 将 CSV 文件加载到 MySQL (5.1)CREATE TABLELOAD DATA。我有许多列是文本类型(类别)但包含数值。当我创建表时,我将这些列分配为,VARCHAR(254)但 JDBC 驱动程序会抛出 SQLException“第 1 行的 AgeGroup 列被截断的数据”。

我的数据如下所示:

我的创建表语句如下所示

我的负载语句看起来像这样

我猜这是一个类型转换问题,因为 AgeGroup 是一个文本数据库列,但我在其中粘贴了看似数字的内容。

我如何 - 我可以 - 强制LOAD DATA命令遵守列的数据类型并转换文件的内容?

我正在使用官方的 MySQL JDBC 驱动程序。

0 投票
1 回答
515 浏览

sql - 如何修复使用 MySQL LOAD INFILE 时出现的错误?

我有一个具有以下结构的产品表

我使用 mysqlLOAD INFILE命令将分隔的数据文件导入到该表中。它现在有400万条记录。当我使用导入更多数据时LOAD INFILE,出现以下错误:

ERROR 2002 (HY000): 无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2)

之后我无法访问产品表。
如何提高表的性能?请注意,某些数据文件的大小超过 100MB。我还有 400 万个条目需要导入到表中。

请建议避免这些问题的方法。

谢谢, 斯里

0 投票
1 回答
710 浏览

mysql - (SQL) 如何将 MySQL 表的列名设置为我的 infile 的分隔的第一行?

我的 infile 的第一行实际上是文件中分隔的列的名称。无论如何,mysql导入是否可以使用文件中的这些列名,并在mysql表中使用这些名称创建列,这样我就不必这样做了?

0 投票
1 回答
12902 浏览

mysql - 将 UTF-8 格式的批量 CSV 数据导入 MySQL

我正在尝试将大约 10K 行 UTF-8 编码数据导入到一个新的 MySQL 表中。

我可以通过 MySQL Workbench 成功地做到这一点,LOAD DATA INFILE但是 UTF-8 字符被破坏了。我已经通过 PHP 测试了数据库,它可以很好地接受存储 UTF-8 字符。问题似乎与LOAD DATA INFILE,我遇到了一些关于此的线程。

有谁知道一种解决方法,或者可能是另一种类似的简单方法来导入 CSV 数据?

谢谢你。

解决:

对于看到这个并且有同样问题的其他人,只需在运行时添加字符集作为参数LOAD DATA INFILE。比我意识到的要简单:)

0 投票
7 回答
2803 浏览

database - 将 LOAD DATA INFILE 与阿拉伯数据一起使用

我正在尝试将 .csv 文件导入表中。我已经弄清楚如何使用以下查询插入数据:

但是,对于我的几个字段,我的阿拉伯语内容作为一系列输入?我认为这是因为我没有正确整理数据库或者我不完全理解 LOAD DATA INFILE 查询。任何建议将不胜感激。

SHOW CREATE TABLE 硬币;输出是:

0 投票
4 回答
79740 浏览

mysql - 使用 LOAD DATA INFILE 导入 MySQL 表时如何跳过 CSV 文件中的列?

我有一个包含 11 列的 CSV 文件,我有一个包含 9 列的 MySQL 表。

CSV 文件如下所示:

MySQL 表如下所示:

我需要将 CSV 文件的第 1-8 列直接映射到 MySQL 表的前 8 列。然后我需要跳过 CSV 文件中的接下来的两列,然后将 CSV 文件的第 11 列映射到 MySQL 表的第 9 列。

目前我正在使用以下 SQL 命令:

但是上面的代码将 CSV 文件的前 9 列映射到 MySQL 表中的 9 列。

0 投票
3 回答
5109 浏览

mysql - 如何将纬度/经度数据正确导入 MySQL?

我有一个城市名称数据集及其相应的纬度/经度,我已将其加载到 MySQL 表中,如下所示:

city_id | 城市名 | 纬度 DECIMAL(9,6) | 经度 DECIMAL(9,6)

典型的纬度/经度坐标可能如下所示:54.284758 / 32.484736。

但是,我只能得到比例为 2 的值才能正确显示在我的表中,换句话说,相当于 DECIMAL(5,2)。数据是从为 UTF-8 目的从 OpenOffice Calc 导出的文本 CSV 上传的。我知道 OpenOffice 在小数方面存在一些问题,但完整的纬度/经度肯定在导出的 CSV 中。如果我用记事本打开 CSV,数据就很好。

谁能看到我可能做错了什么?

谢谢。

更新: 得到它的工作,感谢所有输入。我从头开始重新创建了所有内容、新的模式文件(我正在使用 ORM)、新的 CSV 导出、新表、新的 LOAD DATA INFILE,并且它适用于正确的十进制输出。打败我。

0 投票
5 回答
10320 浏览

mysql - LOAD DATA INFILE 仅插入 1 条记录

我有一个试图通过命令行导入的 csv 文件。但只插入了 1 行。它们是逗号分隔的值。我在使用 Excel Mac 的 Mac 上。我保存为 csv 文件。如何判断这些行是否由 \r 或 \n 或两者终止?这是我使用的代码:

谢谢