qt4:如何将表导出到sql脚本?
我们可以从 qt 代码中导出表的架构及其数据吗? 或者我们可以使用 sql 脚本(返回表模式的查询)来完成此操作吗?
Can we export schema of a table and it's data from qt code?
Or can we do it with sql script, a query that return a table's schema?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能可以仅使用 QSqlDatabase 提供的功能(通过
tables()
和records
函数作为起点),但据我所知,您需要使用特定于数据库的查询来获取完整的架构信息。我认为,最好使用特定的数据库实现工具来完成此操作。例如,SQLite 有一个
.dump
命令就可以做到这一点。 MySQL 有一个专用的mysqldump
实用程序。 PostgreSQL 有pg_dump
等...使用针对特定引擎的预构建工具会更安全。让所有 DDL 语句正确、在正确的时间插入键和触发器、担心编码……是一项艰巨的任务。
You can probably manage to export simple tables in a generic manner using only the functions provided by
QSqlDatabase
(via thetables()
andrecords
functions as a starting point), but as far as I know, you'll need to use database-specific queries to get complete schema information.This is best done, in my opinion, with your specific database implementation's tools. For instance, SQLite has a
.dump
command that does just that. MySQL has a dedicatedmysqldump
utility. PostgreSQL haspg_dump
, etc...It's safer to use pre-built tools for your specific engine. Getting all the DDL statements correct, plugging in the keys and triggers at the right time, worrying about encoding, ... is quite a task.