PySide / PyQt:将数据/表从数据库插入另一个数据库

时间:2014-11-27 14:27:43

标签: python database sqlite pyqt pyside

使用PySide。 我有一个sqlite数据库作为默认数据库:

db1 = QtSql.QSqlDatabase.addDatabase("QSQLITE")
db1.setDatabaseName(path_of_db)
db1.open()

和第二个连接名称为“second_db”的数据库:

db2 = QtSql.QSqlDatabase.addDatabase("QSQLITE", "second_db")
db2.setDatabaseName(path_of_db)
db2.open()
query = QSql.QSqlQuery("second_db")
query.exec_("SELECT * FROM table_name")

现在我想将db1中的表格中的记录插入db2的表格中。我有一个db1的模型。我知道我可以通过模型插入每条记录的记录。我还想过将db1中的记录写入文件/变量,然后将这些记录插入db2。 是否有一个更简单/更快的解决方案可能是一个SQL查询?我该如何解决这个问题呢?

感谢您的帮助; - )

1 个答案:

答案 0 :(得分:0)

我可能会尝试逐行插入,看看它有多快。可能就是你需要的一切。关于批量插入的一些提示是here;基本上,如果您使用BEGIN和END TRANSACTION,以及内存日志,那么您可以大大加快插入速度。哦,并在你完成之后创建索引,而不是之前。