在Ruby中,DBI(Database Interface)是一个数据库访问抽象层,它提供了一种统一的接口,使得可以使用相同的代码访问不同类型的数据库。以下是一个简单的使用 DBI 连接和查询数据库的示例:

安装 DBI:

首先确保你已经安装了 DBI 和适当的数据库驱动。在终端中执行以下命令安装 DBI 和 DBD::SQLite(SQLite数据库的驱动):
gem install dbi dbd-sqlite3

连接数据库:
require 'dbi'

# 数据库连接信息
db_name = 'sample.db'
user = ''
password = ''

# 连接SQLite数据库
dbh = DBI.connect("DBI:SQLite3:#{db_name}", user, password)
puts "Connected to the database."

创建表:
# 创建表
dbh.do("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name VARCHAR(50), age INTEGER)")
puts "Table 'users' created."

插入数据:
# 插入数据
dbh.do("INSERT INTO users (name, age) VALUES (?, ?)", "John Doe", 25)
puts "Data inserted."

查询数据:
# 查询数据
sth = dbh.prepare("SELECT * FROM users")
sth.execute

# 打印查询结果
while row = sth.fetch do
  puts "ID: #{row[0]}, Name: #{row[1]}, Age: #{row[2]}"
end

# 关闭查询句柄
sth.finish

更新数据:
# 更新数据
dbh.do("UPDATE users SET age = ? WHERE name = ?", 30, "John Doe")
puts "Data updated."

删除数据:
# 删除数据
dbh.do("DELETE FROM users WHERE name = ?", "John Doe")
puts "Data deleted."

关闭连接:
# 关闭数据库连接
dbh.disconnect
puts "Connection closed."

这是一个简单的使用 DBI 连接和查询SQLite数据库的示例。请根据实际情况修改连接信息和数据库操作语句。注意,DBI支持多种数据库,你可以根据需要选择适当的数据库驱动。

请注意,DBI 已经相对过时,而现在更常用的是使用专门的数据库驱动和ORM(对象关系映射)库,比如 ActiveRecord(Rails默认的ORM)等。在实际项目中,你可能会更倾向于使用这些更现代的工具。


转载请注明出处:http://www.zyzy.cn/article/detail/6468/Ruby