Mysql 将文本文件中的数据插入到预先存在的列中

Mysql 将文本文件中的数据插入到预先存在的列中,mysql,phpmyadmin,Mysql,Phpmyadmin,我正在尝试从如下所示的文本文件(18.9GB大)中插入数据: as8dyta89sd6892yhgeui2eg ASOIDIAOS8YD98T2Y492G4N2 as8agfuigf98safg82b1hfdy 它们的长度都是32个字符。目前,我有一个名为hashmasher的数据库和一个名为combinations的表,其中的列名为unhashed和sha256。目前,我在未删除的列中存储了数据。看起来像: 未清洗的| sha256 数据|(完全为空) 现在我想知道,如何将数据插入到现有列中,

我正在尝试从如下所示的文本文件(18.9GB大)中插入数据:

as8dyta89sd6892yhgeui2eg

ASOIDIAOS8YD98T2Y492G4N2

as8agfuigf98safg82b1hfdy

它们的长度都是32个字符。目前,我有一个名为hashmasher的数据库和一个名为combinations的表,其中的列名为unhashed和sha256。目前,我在未删除的列中存储了数据。看起来像:

未清洗的| sha256

数据|(完全为空)

现在我想知道,如何将数据插入到现有列中,以及如何只将数据添加到第二列中,因此,例如,上面的示例将变为

未清洗的| sha256

数据|文本文件的第一行

数据|文本文件的第二行

如果我使用LOAD DATA INFILE,它会将其加载到新行中(这是我被告知的),并将其加载到unhashed列以及sha256列中


TL;DR我想将文本文件中的数据插入到第二列预先存在的行中。

将数据与加载数据填充一起插入到新表中。这可能是暂时的,让事情加快一点。使用插入。。。选择。。。JOIN合并两个表

我知道使用19G表可能需要几个小时

事情更复杂,因为原始文件每行包含一个值。您可能希望使用sed/awk脚本对其进行修复,以便每行有两个值,以便加载数据填充工作


另一种方法是继续使用sed/awk脚本,将原始文件转换为一个包含大量UPDATE语句的文件,然后将结果传输到MySQL。

可能重复感谢您的帮助,我应该能够创建一个包含sha256列的新表,用20GB的文本文件填充它,然后更新我的主表,或者?不完全是更新--除非您替换。。。选择。因此,我建议将数据管道化到第三个表中。当你看到一切正常时,你可以用RENAME table交换原始表和结果(它需要一个对列表,并以原子方式重命名对象),你介意给我举一个插入、选择和连接的例子吗?我的tablename是combines,数据库是hashmasher,如果这项工作太多,您不必回复,但感谢您提供的主要说明。