0

我有一个为 mysql 编写的 python 应用程序,我想转换为使用 sqlite。这些表是在一个名为 db.py 的文件中创建的。简单来说,我想我想运行类似的东西

createDb = sqlite3.connect(':memory:'')
queryCurs = createDB.cursor()

conn = sqlite3.connect(r"db.py")

但我不确定这是否会产生我期望的结果,即创建先前在 mysql 中定义的数据库并允许应用程序功能完全在内存中。

我的上述陈述是正确的还是我遗漏了什么?

4

1 回答 1

1

你不能做你想做的事;sqlite 无法为您解析 Python 并“理解”您的db.py脚本对 MySQL 的作用。

您的db.py脚本也不包含 MySQL 表;它最多包含指示 MySQL 创建这些表的 SQL 语句。

您必须将这些 SQL 语句转换为 sqlite;每个数据库品牌都使用自己的 SQL 方言。它会相似但不一样,因为 MySQL 和 sqlite 对于数据库应该如何存储和处理数据有不同的理念。

如果您使用的是像 SQLAlchemy 这样的 ORM,那么您需要配置 ORM 以连接到 sqlite 而不是 MySQL;一个好的 ORM 可以为你将 Python 代码中表达的表结构翻译成不同的数据库 SQL 方言。

于 2013-10-12T07:31:05.113 回答