📅  最后修改于: 2023-12-03 15:34:45.702000             🧑  作者: Mango
Ruby SQLite 是 Ruby 语言的一个 SQLite 数据库操作库,该库为 SQLite C 语言 API 的一个 Ruby 封装提供了简单易用的接口,方便开发者使用 Ruby 语言快速对 SQLite 数据库进行访问操作。
使用 RubyGems 安装 Ruby SQLite:
gem install sqlite3
连接 SQLite 数据库需要使用 SQLite3 模块,示例代码如下:
require 'sqlite3'
# 连接到数据库
db = SQLite3::Database.new "test.db"
# 执行 SQL 语句
rows = db.execute <<-SQL
create table numbers (
name varchar(30),
val int
);
SQL
在 Ruby SQLite 中执行 SQL 语句有两种方式,一种是使用 execute 方法,另一种是使用 prepare 和 execute 方法。下面是两种方式的示例代码:
require 'sqlite3'
db = SQLite3::Database.new "test.db"
# 执行 SQL 语句
rows = db.execute <<-SQL
select name, val from numbers;
SQL
# 输出查询结果
rows.each do |row|
puts row.join "\s"
end
require 'sqlite3'
db = SQLite3::Database.new "test.db"
# 使用 prepare 方法创建语句
stm = db.prepare "SELECT * FROM numbers WHERE val > ?"
# 绑定参数并执行语句
stm.bind_params 5
rs = stm.execute
# 输出查询结果
rs.each do |row|
# 输出结果
end
# 关闭语句
stm.close
Ruby SQLite 还提供了一个 Active Record 样式的 ORM 框架,使得开发者可以更加方便快捷地操作 SQLite 数据库,示例代码如下:
require 'sqlite3'
require 'active_record'
# 连接到数据库
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'test.db'
)
# 创建模型
class Number < ActiveRecord::Base
end
# 查询数据
Number.where("val > 5").each do |number|
puts number.name
end
# 插入数据
Number.create(name: "test", val: 10)
# 更新数据
number = Number.find_by(name: "test")
number.update(val: 20)
# 删除数据
number.destroy
Ruby SQLite 提供了简单、易用、高效的接口让开发者能够快速、方便地对 SQLite 数据库进行访问操作。同时,使用 Ruby SQLite 搭配 ActiveRecord 框架可以实现更加方便快捷的 ORM 操作。如果你使用 Ruby 开发并需要操作 SQLite 数据库,Ruby SQLite 将是一个不错的选择。