我有一个为mysql编写的python应用程序,我想转换为使用sqlite代替。这些表是在名为db.py的文件中创建的。简单地说,我认为我想运行如下内容
createDb = sqlite3.connect(':memory:'')
queryCurs = createDB.cursor()
conn = sqlite3.connect(r"db.py")但我不确定这是否会产生我所期望的结果,即按照之前在mysql中定义的方式创建数据库,并允许应用程序功能完全在内存中执行。
我上面的陈述是正确的,还是我遗漏了什么?
发布于 2013-10-12 15:31:05
你不能做你想做的事情;sqlite不能为你解析Python,也不能“理解”你的db.py脚本对MySQL做了什么。
您的db.py脚本也不包含MySQL表;它至多包含指示MySQL创建这些表的SQL语句。
您必须将这些SQL语句转换为sqlite;每个数据库品牌都使用自己的SQL方言。这将是相似但不相同的,因为MySQL和sqlite在数据库应该如何存储和处理数据方面有着不同的理念。
如果您使用的是像SQLAlchemy这样的ORM,那么您需要将该ORM配置为连接到sqlite而不是MySQL;一个好的ORM可以为您将用Python代码表示的表结构转换为不同的数据库SQL方言。
https://stackoverflow.com/questions/19331651
复制相似问题