如何在sqlite3中使用python中的模式文件创建db文件

弗朗西斯科·瓦尔加斯

在python(特别是python 2.7)中使用了一个模式文件myschema.sql和一个数据库文件,我想在我的数据库中生成这个模式。mydatabase.dbsqlite3

我知道可以通过命令行执行以下操作

sqlite3 mydatabase.db < myschema.sql

或者,我可以执行以下操作,但这可能不适用于所有系统:

import os
os.popen("sqlite3 mydatabase.db < myschema.sql")

这不是我想要的,因为它可能无法在某些平台上使用。

我还想避免类似的事情:

import sqlite3
schema_str = open("myschema.sql","r").read()
connection = sqlite3.connect("mydatabase.db")
cur = connection.cursor()
list_of_insertions = map(lambda x: x.lstrip().replace("\n"," "),
                         schema.split(";"))
map(cur.execute, list_of_insertions)
connection.commit()

所以解析文件和单独创建表不是我想要的,我只是在寻找与命令行工具可以完成的功能等效的python-sqlite。

这确实不假

有一个executescript专门用于此目的的辅助方法

with open('myschema.sql') as fp:
    cur.executescript(fp.read())  # or con.executescript 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Xcode 5.1.1中使用sqlite3?

如何在sqlite3 python中创建外键

如何在Python3中使用变量创建json文件路径?

如何在Python 3中使用input()读取文件

使用 Python 和 SQLite3 隐藏 .db 文件

如何在Python中使用变量搜索SQLite3 DB

如何在 Flask 的 SQLite3 模式中存储日期?

如何在UNIX中使用文件中的模式查找行

如何在python中使用sqlite3创建数据库

Python从文本文件中获取单词并写入sqlite3 db

如何在 sqlite3 python 命令中使用变量?

如何在Python3中使用opencv从文件缓冲区读取文件

如何在sqlite3初始化文件.sqliterc中添加注释

如何在 Django 中以编程方式恢复 sqlite3 数据库文件

如何在Swift 3中使用URL resourceValues方法获取文件创建日期?

如何使用python将CSV文件导入SQLite3

如何在SQLite3中使用Qt QSqlDriver :: subscribeToNotification?

如何在sqlite3中使用blob数据更新行?

如何在文件中的模式中使用grep并获取每个模式的出现次数?

如何在sqlite3请求python中插入变量

SQLITE3,使用其他表模式将数据复制到新的数据库文件中

如何在 Python 中检查文件中使用的 shell 命令

如何在python中使用pandas从csv文件中读取?

如何在Python 3中使用面向对象的编程读取文本文件

如何在Python 3中使用readlines读取由空格分隔的整数输入文件?

如何在Selenium Webdriver Python 3中使用Chrome配置文件

sqlite3:将模式从命令行转储到.sql文件中

如何在javaFX中使用FileeChooser创建新文件并将数据保存在文件中?

如何在Visual Studio 2010中使用.log文件创建安装文件