Ruby 教程 之 Ruby 数据库访问 - DBI 教程 4
Ruby 数据库访问 - DBI 教程
本章节将向您讲解如何使用 Ruby 访问数据库。Ruby DBI 模块为 Ruby 脚本提供了类似于 Perl DBI 模块的独立于数据库的接口。
DBI 即 Database independent interface,代表了 Ruby 独立于数据库的接口。DBI 在 Ruby 代码与底层数据库之间提供了一个抽象层,允许您简单地实现数据库切换。它定义了一系列方法、变量和规范,提供了一个独立于数据库的一致的数据库接口。
数据库连接
假设我们使用的是 MySQL 数据库,在连接数据库之前,请确保:
您已经创建了一个数据库 TESTDB。
您已经在 TESTDB 中创建了表 EMPLOYEE。
该表带有字段 FIRST_NAME、LAST_NAME、AGE、SEX 和 INCOME。
设置用户 ID "testuser" 和密码 "test123" 来访问 TESTDB
已经在您的机器上正确地安装了 Ruby 模块 DBI。
您已经看过 MySQL 教程,理解了 MySQL 基础操作。
下面是连接 MySQL 数据库 "TESTDB" 的实例:
实例
!/usr/bin/ruby -w
require "dbi"
begin
# 连接到 MySQL 服务器
dbh = DBI.connect("DBI:Mysql:TESTDB:localhost",
"testuser", "test123")
# 获取服务器版本字符串,并显示
row = dbh.select_one("SELECT VERSION()")
puts "Server version: " + row[0]
rescue DBI::DatabaseError => e
puts "An error occurred"
puts "Error code: #{e.err}"
puts "Error message: #{e.errstr}"
ensure
# 断开与服务器的连接
dbh.disconnect if dbh
end
当运行这段脚本时,将会在 Linux 机器上产生以下结果。
Server version: 5.0.45
如果建立连接时带有数据源,则返回数据库句柄(Database Handle),并保存到 dbh 中以便后续使用,否则 dbh 将被设置为 nil 值,e.err 和 e::errstr 分别返回错误代码和错误字符串。
最后,在退出这段程序之前,请确保关闭数据库连接,释放资源。