从.txt文件

时间:2015-07-04 18:51:58

标签: sql database

我有一个.txt文件,其中包含以下格式的行

SI1334596|MRKU3|High Cube|1|EGST|First Line|Vehicle one|25|13|

如何构建上述.txt条目的数据库以对其执行SQL查询?我还想为每个列分配列名。我很少或根本不知道在数据库中导入txt文件条目。我正在寻找一个可以安装在我的Windows计算机上的软件,它可以导入.txt文件并转换成数据库,然后允许我执行查询。

1 个答案:

答案 0 :(得分:1)

如果您要求就特定工具提出建议,那么您的问题对于StackOverflow.com来说是偏离主题的。请参阅Software Recommendations Stack Exchange。

以下是一些可能的方法,包括编程和不编程。

数据库导入

数据库通常具有内置命令或工具,可直接从文本文件导入数据。当直接导入文本很少或处理时,导入通常非常快。

例如,Postgres具有要导入的copy命令。此命令包含一个参数DELIMITER,您可以在其中指示垂直条|作为字段之间的分隔符。

您可以在导入之前提前定义表结构,为每个预期的列/字段定义名称和数据类型。

自定义应用

您可以编写应用程序来读取文本文件,处理传入的数据,并将准备好的数据提供给数据库。例如,编写一个Java应用程序来读取文本文件,使用JDBC连接到服务器,并SQL编写为文本字符串,以指示数据库服务器执行操作。

您可以逐行执行此操作。或者,为了提高速度,您可以编写一个批处理语句,告诉数据库服务器同时创建多个行。

如果数据需要复杂处理或存在其他相关杂务,例如保留许多此类导入的历史记录,记录其他信息,报告重复数据等,则可以采用此方法。

对于Java,Apache Commons CSV库有助于读/写纯文本文件。

电子表格

许多电子表格(例如LibreOffice Calc)可以解析数据,将列标题推断为标题,并填充电子表格。您可以在电子表格中进行查询。适用于可轻松驻留在内存中的少量数据。您可能根本不需要数据库。

数据库工具

PostgresH2SQLiteMySQL / MariaDB等SQL数据库引擎只是黑盒引擎,而不是完整的交互式数据工具。您可以获得与这些引擎连接的工具。此工具可以导入/导出文本文件,显示数据列表,允许您输入/修改数据,创建表单以更好地访问数据,以及生成报告。

但是有一些这样的数据工具内置了数据库引擎。例子包括: