我有一个.txt文件,其中包含以下格式的行
SI1334596|MRKU3|High Cube|1|EGST|First Line|Vehicle one|25|13|
如何构建上述.txt条目的数据库以对其执行SQL查询?我还想为每个列分配列名。我很少或根本不知道在数据库中导入txt文件条目。我正在寻找一个可以安装在我的Windows计算机上的软件,它可以导入.txt文件并转换成数据库,然后允许我执行查询。
答案 0 :(得分:1)
如果您要求就特定工具提出建议,那么您的问题对于StackOverflow.com来说是偏离主题的。请参阅Software Recommendations Stack Exchange。
以下是一些可能的方法,包括编程和不编程。
数据库通常具有内置命令或工具,可直接从文本文件导入数据。当直接导入文本很少或处理时,导入通常非常快。
例如,Postgres具有要导入的copy
命令。此命令包含一个参数DELIMITER
,您可以在其中指示垂直条|
作为字段之间的分隔符。
您可以在导入之前提前定义表结构,为每个预期的列/字段定义名称和数据类型。
您可以编写应用程序来读取文本文件,处理传入的数据,并将准备好的数据提供给数据库。例如,编写一个Java应用程序来读取文本文件,使用JDBC连接到服务器,并SQL编写为文本字符串,以指示数据库服务器执行操作。
您可以逐行执行此操作。或者,为了提高速度,您可以编写一个批处理语句,告诉数据库服务器同时创建多个行。
如果数据需要复杂处理或存在其他相关杂务,例如保留许多此类导入的历史记录,记录其他信息,报告重复数据等,则可以采用此方法。
对于Java,Apache Commons CSV库有助于读/写纯文本文件。
许多电子表格(例如LibreOffice Calc)可以解析数据,将列标题推断为标题,并填充电子表格。您可以在电子表格中进行查询。适用于可轻松驻留在内存中的少量数据。您可能根本不需要数据库。
Postgres,H2,SQLite和MySQL / MariaDB等SQL数据库引擎只是黑盒引擎,而不是完整的交互式数据工具。您可以获得与这些引擎连接的工具。此工具可以导入/导出文本文件,显示数据列表,允许您输入/修改数据,创建表单以更好地访问数据,以及生成报告。
但是有一些这样的数据工具内置了数据库引擎。例子包括: