中等 - 用于python程序的大型便携式数据库选项

时间:2012-11-08 20:12:06

标签: python mysql database mysql-python

我正在创建一个简单的python程序,需要搜索一个有点大的数据库(大约40个表,大约6百万行)。

目前,我使用MySQLdb来查询我的本地MySQL数据库然后我有一些其他python函数可以处理数据并返回一些统计信息和其他东西。我想与其他不想构建自己的数据库的人分享这个。此时,数据库仅用于查询。

我如何才能最好地将数据库和python程序作为“包”共享。我是否必须放弃SQL方法并切换到某种文本文件数据库,或者有更简单的方法... sqlite可能吗?

如果答案是sqlite,我该如何将当前的SQL数据库导出到sqlite数据库?有什么问题我应该知道吗?

目前,我使用简单的SELECT采石场和一些WHERE语句来定位我需要的数据。我担心如果我切换到基于文本的数据库,我最终将不得不编写大量代码来进行这些查询。

提前感谢您的任何建议。

修改

所以我用sqlite3数据库写了我的小python程序,它运行得很好。

我最终使用名为mysql2sqlite.sh的shell脚本找到here将我的MySQL数据库转换为sqlite。它完美无缺。

我只需更改2行python代码。真棒。

我的小程序在osx,windows和linux(ubuntu和redhat)中运行,没有任何变化或麻烦。谢谢你的建议!

1 个答案:

答案 0 :(得分:1)

转换数据库可以像sql-dump一样简单,然后导入,具体取决于数据库的复杂性。有关策略和备选方案,请参阅此post