微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

与PostgreSQL和MySQL一起使用的纯python SQL解决方案?

我正在寻找一个python sql库,可以访问MySQL和Postgresql.

唯一的要求是在Python 2.5上运行并且是纯python,因此它可以包含在脚本中,并且仍然可以在大多数平台上运行(无需安装).

事实上,我正在寻找一个简单的解决方案,允许我编写sql并将结果导出为CSV文件.

解决方法:

两部分答案:

A)这绝对是可能的.

B)根据您的确切考虑,纯Python可能是也可能不是解决您问题的好方法.

解释:

sqlAlchemy库有两个组件:更受欢迎的“ORM”和它位于其上的“Core”.任何一个都可以让你用sqlAlchemy格式编写sql命令(这只是Python);然后,sqlAlchemy将语句编译为MysqL或Postgresql并连接到相应的数据库.

sqlAlchemy是一个很棒的库,我推荐几乎所有的东西.虽然您必须以其格式编写语句,但它很容易上手 – 您可以随时切换到任何您想要的基础数据库库.无论您是否需要支持多个后端,它都是在任何数据库项目中使用的完美平台.

sqlAlchemy通过标准DBAPI驱动程序与数据库通信,并且支持纯python的多个选项,特别是pyMysqL和pypostgresql驱动程序(http://docs.sqlalchemy.org/en/latest/core/engines.html#supported-dbapis)

至于编写csv,标准库可以满足您的需求.

import csv

警告?

以下可能适用于您的情况,也可能不适用:

python Universe中的大多数更高级别的db模块仍然建议使用MysqL-python和psycopg – 这两个模块都不是纯-python,而是针对已安装的数据库进行编译/链接/配置.这似乎主要来自API /集成问题和各种pure-python软件包的速度,与在cpython下运行时的c-extension相比.

像我推荐的那样有纯粹的python驱动程序,但大多数评论者声称它们主要是实验性的. pyMysqL的作者声称稳定性和生产准备就绪,博客的一些开发人员对此提出了挑战.至于“稳定”或“实验”意味着什么,这随项目而变化.有些有不断变化的API,有些是不完整的,有些是错误的.

您需要确保为每个支持所需操作的系统找到pure-python驱动程序.这可能很简单,或者这可能很麻烦.无论您使用sqlAlchemy还是其他东西,在选择DBAPI驱动程序时仍然会遇到这种问题.

PyPy项目(纯python python解释器)有一个wiki,列出了各种软件包的兼容性:https://bitbucket.org/pypy/compatibility/wiki/Home我会根据具体的驱动程序建议推荐它们.如果PyPy是你想要的平台,那么sqlAlchemy也可以完美地运行它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐