如何在不使用命令行但使用 Perl 代码的情况下转储 SQLite 数据库的内容?

发布于 2024-10-04 07:53:29 字数 107 浏览 5 评论 0原文

对于回归测试,我需要将 SQLite 数据库的全部内容转储到文本文件中。但对此类活动的所有引用都只会导致使用 sqlite 可执行文件的指南。 Perl 有没有办法在没有可执行文件的情况下做到这一点?

For regression testing i need to dump the entire contents of an SQLite database into a text file. But all references to that sort of activity only lead to guides using the sqlite executable. Is there a way in Perl to do this without the executable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

栩栩如生 2024-10-11 07:53:29

您可以使用标准 DBI 方法来查询架构。 DBD::SQLite 手册页说:

另请参阅 DBI 文档
其他常用方法的详细信息。

表信息

 $sth = $dbh->table_info(undef, $schema, $table, $type, \%attr);

返回所有表和架构
(数据库)如指定
DBI 中的“table_info”。架构和
表参数将执行“LIKE”操作
搜索。您可以指定转义符
通过包含“Escape”字符
\%attr 中的属性。 $类型
参数接受逗号分隔
以下类型的列表
“表”、“视图”、“本地临时”和
'系统表'(默认情况下都是
返回)。注意一个声明
返回句柄,而不是直接返回
表列表。

You can use the standard DBI methods for querying schema. DBD::SQLite manpage says:

See also to the DBI documentation for
the details of other common methods.

table_info

 $sth = $dbh->table_info(undef, $schema, $table, $type, \%attr);

Returns all tables and schemas
(databases) as specified in
"table_info" in DBI. The schema and
table arguments will do a "LIKE"
search. You can specify an ESCAPE
character by including an ’Escape’
attribute in \%attr. The $type
argument accepts a comma separated
list of the following types
’TABLE’, ’VIEW’, ’LOCAL TEMPORARY’ and
’SYSTEM TABLE’ (by default all are
returned). Note that a statement
handle is returned, and not a direct
list of tables.

岁月静好 2024-10-11 07:53:29

一种选择是从 sqlite 程序的源代码中窃取 .dump 实现。

One option is to steal the .dump implementation from the sqlite program's source code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文