用于CSV文件的快速免费桌面SQL工具

时间:2008-12-23 14:14:34

标签: sql csv

我有一堆相当大的CSV(逗号分隔值)文件,我想分析它们。 SQL查询非常适合这种情况。到目前为止,我一直在使用MS Access导入CSV文件并对它们执行查询。但是,除了有一个非常糟糕的SQL编辑器和关于何时可以打开/编辑/删除查询/表的愚蠢的任意规则,它是非常慢的。在执行查询时,我可以忍受最初的缓慢,但我真的很讨厌每当我尝试在另一列上对表进行排序,等待5分钟或尝试滚动时,它似乎重新执行它。

这项工作有更好的(免费)工具吗? (如果需要,我愿意手动编写脚本以将CSV转换为其他内容)

谢谢!

编辑: 感谢所有的答案!我将尝试SQL Server,如果它成功,我会接受这个答案。只是澄清一下:导入数据文件对我来说不一定是个问题(虽然这样做的简单方法当然是受欢迎的)。我需要的是一些程序,随后允许我快速有效地执行(相当复杂的)查询。 FileHelpers不会帮助我,因为首先我不知道任何.NET语言,其次,我有Java中的数据,但我认为使用SQL分析它会容易得多。谢谢你的答案!

9 个答案:

答案 0 :(得分:5)

为什么不直接将它们导入MySQL,这很容易。

LOAD DATA LOCAL INFILE 'file.csv' 
INTO TABLE some_table 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
(field1, filed2, field3);

然后你可以轻松地运行任何复杂的查询...

答案 1 :(得分:4)

您没有说明您使用的DBMS,但PostgreSQLCOPY命令可以执行此操作,但有很多选项:

COPY billing.contact FROM '/foo/bar/contact.csv' WITH DELIMITER AS ',';

答案 2 :(得分:3)

带有工具Here的SQL Server Express 2008。它包括Management Studio,效果很好。

请注意,它确实需要.net framework 3.5 sp1,MS Installer 4.5和Powershell 1.0,但如果您需要获取这些链接,下载页面上也会有链接。

答案 3 :(得分:1)

开箱即用,你可以看一下LINQ to CSV

答案 4 :(得分:1)

还有一个Oracle Express Edition。

我想这取决于你已经精通的地方。或者也许你希望精通。

答案 5 :(得分:0)

如果可以将它们作为Access获取,那么只需将Access表导出到SQL Server即可。或者,如果csv有一个通用模式,则创建表是SQL Server,从Access远程连接,并直接导入SQL Server。

答案 6 :(得分:0)

logparser可以做到这一点......你可以在csv和其他分隔文件上创建sql查询

答案 7 :(得分:0)

Oracle SQL Developer(和Oracle Express Edition - 感谢Mark)都是免费的,轻量级的,SQl Developer可以将csv文件加载到完整的关系db:Oracle XE> 然后,您可以运行SQL语句,甚至可以通过拖放界面创建它们。 你也可以看看Squirrel

答案 8 :(得分:-1)

如果您想对数据执行某些处理,我可以在http://www.filehelpers.com/推荐FileHelpers库。它包括导入,处理和导出分隔或固定长度数据文件所需的全部内容。

您可以使用SQL Server Express作为免费数据库来代替Access。在这里阅读:

http://www.microsoft.com/express/sql/default.aspx

您可以使用SQL Server的Management Studio Express查询数据,也可以通过Visual Studio Express版本访问许多相同的工具,所有这些工具都是免费的 - 您甚至可以通过添加新项目创建新的MDF菜单选项。

我希望这会有所帮助。