2

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

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

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

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

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

提前感谢您的任何建议。

编辑

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

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

我只需要更改 2 行 python 代码。惊人的。

我的小程序在 osx、windows 和 linux(ubuntu 和 redhat)中运行,没有任何更改或麻烦。感谢您的建议!

4

1 回答 1

1

根据数据库的复杂性,转换数据库可以像 sql-dump 然后导入一样简单。有关策略和替代方案,请参阅此帖子

于 2012-11-08T20:26:43.093 回答