问题标签 [mysqlimport]

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 回答
13476 浏览

mysql - 如何将空格分隔的文本文件导入 MySQL?

我需要将较大的 (24MB) 文本文件导入 MySQL 表。每行如下所示:

每个字段后面有一个或多个空格,最后一个字段在换行符之前尾随大约 36 个空格。

如何将这样的文件导入 MySQL?从文档看来, LOAD DATA 期望所有字段都以完全相同的字符串终止。我试过了

但是 MySQL 会将多个空格的序列解释为分隔一个空字段。

有任何想法吗?

0 投票
4 回答
1214 浏览

linux - 关于 mysqlimport、换行和字符编码(我认为)

首先,一些披露:我不是 Linux 管理员,我的 Linux 管理员也不是程序员。

也就是说,我们有一个 cronjob,它运行一个mysqlimport命令来导入每天生成的文本文件。我无法控制或参与如何创建此文件。通过反复试验,我们发现文本文件是在 Windows 机器上生成的,因此对于lines-terminated-by参数我们必须指定\r\n. 上周它停止正常工作,我们确定这是因为该文件现在是在 Linux 中生成的,所以我们将其更改为\n. 我的理解(不完全清楚)是这取决于谁生成了决定使用什么平台和编码的文本文件。

我们有一个执行mysqlimport命令的 shell 脚本。当我们提供正确的编码时,一切都会完美运行。但是由于我们不知道谁将首先创建文本文件,有没有办法确定编码是什么并实现正确的换行符?(并且“编码”在这里是正确的术语吗?)

0 投票
2 回答
6384 浏览

mysql - mysqlimport 和双引号

我们有一个大的制表符分隔的文本文件(大约 120,000 条记录,50MB),我们正在尝试使用 mysqlimport 将其推入 MySQL。有些字段用双引号括起来,有些则没有。我们正在使用fields-optionally-enclosed-by='\"'开关,但问题是某些字段值本身包含双引号(表示英寸),因此分隔的字段值可能是“ABCDEF19”。有意义吗?

我们无法控制文件的来源,因此我们无法更改那里的格式。我尝试删除fields-optionally-enclosed-by开关,但随后导入了围绕值的双引号。

他在值中带有引号的记录变得严重混乱。有没有办法告诉 mysqlimport 某些字段可选用引号括起来,但仍可能包含引号?我们认为也许是全局搜索和替换来逃避字段值中的双引号?或者有什么其他建议?

0 投票
2 回答
1329 浏览

mysql - 如何在不中断网站的情况下刷新 MySQL 表?

每天一次,我需要使用 ftp 和 mysqlimport 从网上下载一个新文件来更新 MySQL 表。但是,我希望我的网站在 mysqlimport 操作期间保持平稳运行,这需要相当长的时间(这是一张大桌子)。什么是确保用户不等待导入完成的好方法?我正在考虑导入一个临时表,然后重命名它。这是个好计划吗?

0 投票
3 回答
5877 浏览

mysql - MySqlImport - 导入格式不正确的日期字段

我有一个 csv 文件,其中有一个日期字段,格式如下(在其他字段中):

当我执行 mysqlimport 时,其他字段已正确导入,但该字段仍然存在 0000-00-00 00:00:00

如何正确导入此日期?我是否必须首先对文件运行 sed/awk 命令才能将其转换为正确的格式?如果是这样,那会是什么样子?月份是拼写而不是数字的事实是否重要?

0 投票
1 回答
315 浏览

mysql - 如何使用 mysqlimport 累积结果

我喜欢 mysqlimport,它快速且相对易于使用(比 PHP 或 Python 前端用于导入 > 20GB 的数据文件要快得多)。但是我想做以下事情。我有一个看起来像这样的数据文件:

字段为varchar, varchar, int

我希望最终结果存储['cat', 'dog', 11]为前两个字段。我在 python 中有一个可行的解决方案,但我正在寻找 mysql(import) 中的本机。

0 投票
2 回答
6704 浏览

mysql - 我可以在不先创建数据库表的情况下将制表符分隔的文件导入 MySQL 吗?

正如标题所说:我有一堆包含数据的制表符分隔的文本文件。

我知道如果我使用“CREATE TABLE”语句手动设置所有表,然后我可以使用“加载数据”或“mysqlimport”将它们导入等待表。

但是 MySQL 有没有办法根据标签文件自动创建表?好像应该有。(我知道 MySQL 可能必须猜测每列的数据类型,但您可以在选项卡文件的第一行中指定。)

0 投票
1 回答
965 浏览

mysql - 将文本导入 MySQL:奇怪的格式

我正在使用 mysqlimport 将 .txt 文件中的一些数据导入 MySQL 数据库表。似乎导入正常(没有错误消息),但显示时看起来很奇怪,无法按预期搜索。

这是详细信息。原始文本文件以 UTF-8 格式保存,其记录(在文本编辑器中)看起来像这样。第二个字段包括换行符:

我要导入的数据库表非常简单:

当我导入文件时,这是我使用的命令:

如果我随后要求 MySQL 显示记录,这就是我看到的内容:

因此,看起来好像空格或一些奇怪的编码附加项被添加到文本中。

这是数据库查询的问题:

什么都不返回;也不添加空格:

只有这个命令返回任何东西

谁能猜出会发生什么?我觉得这一定是编码问题,但我无法解决。

- - - 更新 - - - -

好的,我检查了数据库和连接编码。

show table status说桌子是latin1_swedish_ci

我在“Western (Windows Latin 1)”中重新保存了文本文件(在 Snow Leopard 上使用 TextEdit),并尝试使用与上述相同的命令导入它。但是我仍然有同样的编码问题。

我也试过了,再次没有运气:

  • 使用 UTF-8 创建新表并导入现有文件
  • 将文本复制并粘贴到我之前导入的另一个文本文件中,然后尝试导入它。

仍然完全困惑:(((

0 投票
3 回答
30665 浏览

mysql - 如何使用 mysqlimport 读取 mysqldump --databases 的结果

我已经使用成功转储了整个 MySQL 数据库

生成一个不错的 .txt 文件。但是,我看不到如何一次将整个文件读回 MySQL;mysqlimport 似乎一次只需要一张表。

0 投票
4 回答
11938 浏览

mysql - 在文件名与表名不同的地方使用 mysqlimport

我一直在玩 mysqlimport 并且遇到了文件名必须与表名相同的限制。有没有办法解决这个问题?

我无法重命名该文件,因为它被其他进程使用,我不想复制该文件,因为其中会有很多,有些非常大。

我想使用 mysqlimport 而不是 LOAD INFILE。

编辑:不幸的是,这需要在 Windows 上运行,所以恐怕没有符号链接的技巧。