将python应用程序从mysql更改为sqlite
我有一个为mysql编写的python应用程序,我想转换为使用sqlite。这些表是在名为db.py的文件中创建的。简单地说,我想我想经营这样的公司将python应用程序从mysql更改为sqlite,python,mysql,sqlite,Python,Mysql,Sqlite,我有一个为mysql编写的python应用程序,我想转换为使用sqlite。这些表是在名为db.py的文件中创建的。简单地说,我想我想经营这样的公司 createDb = sqlite3.connect(':memory:'') queryCurs = createDB.cursor() conn = sqlite3.connect(r"db.py") 但我不确定这是否会产生我预期的结果,即,按照之前在mysql中定义的方式创建数据库,并允许应用程序完全在内存中运行 我的上述陈述是正确的还是
createDb = sqlite3.connect(':memory:'')
queryCurs = createDB.cursor()
conn = sqlite3.connect(r"db.py")
但我不确定这是否会产生我预期的结果,即,按照之前在mysql中定义的方式创建数据库,并允许应用程序完全在内存中运行
我的上述陈述是正确的还是我遗漏了什么?你不能做你想做的事;sqlite无法为您解析Python,也无法“理解”您的
db.py
脚本对MySQL的作用
您的db.py
脚本也不包含MySQL表;它最多包含指示MySQL创建这些表的SQL语句
您必须将这些SQL语句转换为sqlite;每个数据库品牌都使用自己的SQL方言。这将是相似的,但不是相同的,因为MySQL和sqlite对于数据库应该如何存储和处理数据有不同的理念
如果您使用的是类似SQLAlchemy的ORM,那么您需要将ORM配置为连接到sqlite而不是MySQL;好的ORM可以将Python代码中表示的表结构转换为不同的数据库SQL方言。主要区别在于sqlite使用的是什么?and:name而不是参数绑定的%s和%(name)s,并且sqlite是弱类型的。除此之外,大多数代码都很容易转换。但是你必须转换代码并运行它;这是没有办法的。