Perl DBI17 Mar 2025 | 6 分钟阅读 在本教程中,我们将看到如何在 Perl 脚本中访问数据库。从 Perl 5 开始,数据库应用程序使用 DBI 模块来访问数据库。 可以使用 DBI 模块在 Perl 脚本中访问数据库。 DBI (数据库独立接口) 在 Perl 代码和数据库之间提供了一个抽象层。 DBI 是一个数据库访问模块,它提供变量和一组方法,用于提供一致的数据库接口,与所使用的实际数据库无关。 Perl DBI 架构![]() DBI 独立于数据库,可以与 Oracle、MySQL 等一起使用。DBI 通过 API(应用程序编程接口)获取所有 SQL 命令,并将它们转发到相应的驱动程序以供执行。 Perl DBI 连接我们正在使用 MySQL 数据库。 启动您的 MySQL 服务器。 现在完成以下步骤
成功创建数据库后,使用以下脚本将此数据库与 Perl 文件连接起来。 请看上面的脚本, dsn -> 数据库源名称 dbh -> 数据库句柄对象 dsn 包含要加载的数据库。 用户是“root”,我们没有为我们的数据库设置任何密码。 dbh 存储数据库句柄对象调用返回。 数据库断开连接命令是可选的,当 $dbh 超出范围时,它将自动调用。 Perl INSERT 到数据库通过 INSERT 操作,我们将记录传递到我们的数据库表“users”中。 以下脚本允许在数据库中插入单个记录。 您可以使用相同的脚本插入多个记录。 按照以下步骤
Perl 插入绑定值当需要的值将在运行时获取时,使用绑定值。 要插入数据,我们调用 $dbh->do 方法。 在这里,我们传递 (?) 作为实际数据位置的占位符。 之后是 undef,然后是包含将替换占位符的数据的值。 输出 Name = John, Course = PHP, Fee = 9000 Name = nisha, Course = Java, Fee = 10000 Perl 读取数据库READ 记录用于从数据库中获取信息。 一旦我们将一些记录插入到我们的数据库中,我们就可以使用 READ 查询来获取这些记录。 按照以下步骤
注意:我们已在表中插入了更多值以执行操作。输出 Name = John, Course = PHP, Fee = 9000 Name = nisha, Course = Java, Fee = 10000 Name = Jia, Course = C++, Fee = 8000 Name = Anuj, Course = Java, Fee = 5000 Name = Vishal, Course = PHP, Fee = 8000 Name = Rash, Course = Hadoop, Fee = 4000 Perl 更新数据库借助 UPDATE 操作,您可以编辑数据库表中存在的信息。 在这里,我们将所有课程中包含“Java”的学生的“course”列更新为 PHP。 按照以下步骤
输出 Name = John, Course = PHP, Fee = 9000 Name = nisha, Course = PHP, Fee = 10000 Name = Jia, Course = C++, Fee = 8000 Name = Anuj, Course = PHP, Fee = 5000 Name = Vishal, Course = PHP, Fee = 8000 Name = Rash, Course = Hdoop, Fee = 4000 查看输出,所有 Java 课程都已更新为 PHP。 Perl 删除数据库执行 DE#LETE 操作以从数据库中删除一些记录。 我们正在删除表中费用为 9000 的所有记录。 按照以下步骤
输出 Name = nisha, Course = PHP, Fee = 10000 Name = Jia, Course = C++, Fee = 8000 Name = Anuj, Course = PHP, Fee = 5000 Name = Vishal, Course = PHP, Fee = 8000 Name = Rash, Course = Hdoop, Fee = 4000 查看输出,所有费用为 9000 的行都已从 SQL 表中删除。 Perl DBI 函数使用 do 语句do 语句是在数据库中执行 CRUD 操作的快捷方式。 如果 do 语句成功,则返回 TRUE,如果失败,则返回 FALSE。 以下是显示 do 语句脚本的示例。 使用 COMMIT 操作给出 commit 命令后,您将无法检索回您所做的更改。 您可以按以下方式调用 commit 命令: 使用 ROLLBACK 操作如果要恢复操作期间所做的更改,可以调用 rollback API。 使用自动错误处理通过指定 RaiseError 选项,您的错误将由 DBI 自动处理。 您的程序将在遇到错误时中止,而不是运行失败代码。 RaiseError 的值可以是 1 或 0。 Perl 所有句柄的常用方法err它返回上次调用的驱动程序方法中的本机数据库引擎错误代码,该代码通常是一个整数。 DBI 在所有 DBI 方法调用之前将 $h->err 重置为 undef,因此该值的生命周期很短。 errstr它返回上次调用的 DBI 方法中的本机数据库引擎错误消息。 这与 err 方法的生命周期相同。 返回的值可能包含多个消息,用换行符分隔。 要测试错误,应使用 err 方法。 因为 errstr 方法可能会为未失败的方法返回成功或警告消息。 traceDBI trace 方法生成运行时跟踪信息,可用于跟踪 DBI 程序中的问题。 可以为跟踪级别设置不同的值。 rowsrows 方法返回上一个 SQL 语句影响的行数。 下一主题Perl 面向对象 |
我们请求您订阅我们的新闻通讯以获取最新更新。