gpt4 book ai didi

python 数据库/sql 编程 - 从哪里开始

转载 作者:IT王子 更新时间:2023-10-29 06:23:26 24 4
gpt4 key购买 nike

使用嵌入式数据库的最佳方式是什么,例如 Python 中的 sqlite:

  1. 应该占用空间小。我只需要每张表几千条记录。每个数据库只有少数表。
  2. 如果它是由 Python 默认安装提供的,那就太好了。必须是开源的,可在 Windows 和 Linus 上使用。
  3. 如果不直接编写 SQL 会更好,但完全不需要 ORM。可以使我免受实际数据库影响的东西,但不是那么大的图书馆。类似于 ADO 的东西会很棒。
  4. 大部分会通过代码使用,但如果有一个GUI前端,那就太好了
  5. 只需几页即可开始使用。我不想浏览页面来阅读表是什么以及 Select 语句的工作原理。这些我都知道。
  6. 最好支持 Python 3,但 2.x 也可以。

该用法不是 Web 应用程序。这是一个最多可容纳 5 个表的小型数据库。每个表中的数据只是几个字符串列。想想比腌制字典更大的东西

更新:非常感谢您的宝贵建议。
我正在谈论的用例非常简单。您可能会在一两天内完成。
这是一个 100 多行的 Python 脚本,它收集有关大量文件(比如 10k)的数据,并创建有关它们的元数据文件,然后创建一个有关整个文件树的大型元数据文件。我只需要避免重新处理已经处理过的文件,为更新的文件创建元数据,并更新主元数据文件。在某种程度上,缓存处理过的数据,并且只在文件更新时更新它。如果缓存损坏/不可用,则只需处理整棵树。这可能需要 20 分钟,但没关系。

请注意,所有处理都是在内存中完成的。

我想避免任何外部依赖,这样脚本就可以很容易地放在任何只安装了 Python 的系统上。作为 Windows,有时很难安装所有组件。所以,在我看来,即使是数据库也可能有点矫枉过正。

您可能不会启动 Office Word/Writer 来写一个小帖子类型注释,同样地,我不愿意在这个用例中使用 Django 之类的东西。

从哪里开始?

最佳答案

我强烈推荐使用好的 ORM。当您可以使用 Python 对象来管理数据库行时,生活会变得更加轻松。

我是 Django 中 ORM 的粉丝。但这已经被推荐了,你说那太重量级了。

这给我留下了一个值得推荐的 ORM:Autumn .非常轻量级,与 SQLite 配合得很好。如果您的嵌入式应用程序将是多线程的,那么您绝对需要 Autumn;它具有支持多线程 SQLite 的扩展。 (完全披露:我编写了这些扩展并贡献了它们。我在为 RealNetworks 工作时编写了它们,我的老板允许我捐赠它们,因此公开感谢 RealNetworks。)

Autumn 是用纯 Python 编写的。对于 SQLite,它使用 Python 官方 SQLite 模块来执行实际的 SQL 操作。 Autumn 本身的内存占用很小。

我不推荐 APSW。以我的拙见,它并没有真正帮助你。它只是提供了一种执行 SQL 语句的方法,而让您掌握 SQL 的处理方式。此外,它支持 SQLite 的每一个功能,甚至是您很少使用的功能,因此它实际上比 Autumn 占用更大的内存,而且使用起来也不那么容易。

关于python 数据库/sql 编程 - 从哪里开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com