在过去的几天里,我开始学习 SQL,但是在尝试将我的数据放入表中时被卡住了。
数据存储在文本文件中,格式如下:
ColumnName1=SomeInteger
ColumnName2=SomeInteger
ColumnName3=SomeString
... etc
到目前为止,我已经设法通过剥离=SomeValue
Python 中的内容创建了一个表(它有大约 150 列,我希望在我了解更多信息后将其分开并单独分组)。然后将列名包装CREATE TABLE
在电子表格中。有点乱,但它现在有效。
现在我被困在以下几点:
LOAD DATA INFILE 'path/to/file.txt'
INTO TABLE tableName
COLUMNS TERMINATED BY '\n'
LINES STARTING BY '=';
我试图让 SQL 将数据插入到指定的列名中(如果它们的顺序并不总是相同),忽略等号,并使用唯一的文件名作为我的索引。我还尝试使用 转义等号字符'\='
,因为 MySQL 文档提到LINES STARTING BY
应该忽略参数之前的所有内容。打字LINES STARTING BY 'ColumnName1='
设法忽略了第一个实例,但这并不是我想要的,并且不适用于其余的行。
如果有人能指出我正确的方向,我并不反对阅读更多文档或教程。
编辑:行是这样分隔的:我得到了大约 100,000 个 ini 文件。每一个都被命名为 FirstName_LastName.ini(保证唯一性),并且每一行数据都包含在 ini 文件中。我需要将过时的帐户存储方法带入 21 世纪。传闻 MySQL 的 LOAD DATA 对这类任务特别快,这就是为什么我开始研究它作为一个选项的原因。我只是想知道是否可以操纵它来处理我格式的数据,或者我是否最好将所有 100k 文件通过解析器。如果有任何魔术师阅读本文,我仍然愿意接受使用 SQL 的建议。
ps:如果有人对如何将我的数据(来自这种文本格式)放入单个表格有更好的想法,我也很想听听他们的意见。