ソスyソスハ・ソスソスソスソスソスネデソス[ソス^ソスxソス[ソスXSQLiteソスソスRubyソスソスソス辷オソスソスソスソスソス゚のソスソスCソスuソスソスソスソスソスB
RubyForgeソスソスソスソスA sqlite3-ruby(sqlite3-ruby-x.x.x.zip)ソスソスソス_ソスEソスソスソスソスソス[ソスhソスソスソスソスB
ソス_ソスEソスソスソスソスソス[ソスhソスソスソスソスソスtソス@ソスCソスソスソスソスWソスJソスソスソスソスB
ソスCソスソスソスXソスgソス[ソスソスソスvソスソスソスOソスソスソスソスソスソスソスソスソスsソスソスソスソスB
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
RubyGemsソスソスソスCソスソスソスXソスgソス[ソスソスソスソスソスソスソスソスA ソスソスソスフコソス}ソスソスソスhソスソスソスソスソスsソスソスソスソスB
gem install sqlite3-ruby
SQLite Download PageソスソスソスソスA sqlitedll-3_x_x.zipソスソスソス_ソスEソスソスソスソスソス[ソスhソスソスソスソスB
ソス_ソスEソスソスソスソスソス[ソスhソスソスソスソスソスtソス@ソスCソスソスソスソスWソスJソスソスソスソスB
sqlite.dllソスソスソスpソスXソスフ通ゑソスソスソスソスfソスBソスソスソスNソスgソスソスソスノコソスsソス[ソスソスソスソスB
require 'sqlite3'
db = SQLite3::Database.new("data.db")
db.close
Stringソス^ソスフ「ソスソスソスソスソスvソスtソスBソス[ソスソスソスhソスA Integerソス^ソスフ「ソスNソスソスvソスtソスBソス[ソスソスソスhソスA Stringソス^ソスフ「ソスソスソスソスソスvソスtソスBソス[ソスソスソスhソスA ソスソスソスソスソスツ「ソスミ茨ソスソスvソスeソス[ソスuソスソスソスソスソス成ソスソスソスソスB
sql = <<SQL
create table ソスミ茨ソス (
ソスソスソスO varchar(10),
ソスNソスソス integer,
ソスソスソスソス varchar(200)
);
SQL
db.execute(sql)
ソスgソスpソスナゑソスソスソスfソス[ソス^ソス^
ソスソスソスRソス[ソスhソスソスoソス^ソスソスソスソス
sql = "insert into ソスミ茨ソス values ('ソスソスソス{', 26, 'ソスLソスソス')"
db.execute(sql)
ソスvソスソスソス[ソスXソスzソスソスソス_ソスニバソスCソスソスソスhソスlソスソスソスgソスpソスソスソスソスソス鼾
sql = "insert into ソスミ茨ソス values (?, ?, ?)"
db.execute(sql, 'ソスソスソスソス', 35, 'ソスcソスニ包ソス')
db.execute(sql, 'ソスTソスソス', 40, 'ソスcソスニ包ソス')
ソスソスソスOソスtソスソスソスvソスソスソス[ソスXソスzソスソスソス_ソスソスソスgソスpソスツ能
sql = "insert into ソスミ茨ソス values (:name, :age, :post)"
db.execute(sql, :name => 'ソスソスソスソス', :age => 35, :post => 'ソスcソスニ包ソス')
db.execute(sql, :name => 'ソスTソスソス', :age => 40, :post => 'ソスcソスニ包ソス')
ソスソスソスRソス[ソスhソスソスソス謫セソスソスソスソス
db.execute('select * from ソスミ茨ソス') do |row|
#rowソスヘ鯉ソスソスハの配ソスソス
puts row.join("\t")
end
ソスソスソスソス
ソスソスソス{ 26 ソスLソスソス
ソスソスソスソス 35 ソスcソスニ包ソス
ソスTソスソス 40 ソスcソスニ包ソス
ソスvソスソスソス[ソスXソスzソスソスソス_ソスニバソスCソスソスソスhソスlソスソスソスgソスpソスソスソスソスソス鼾
db.execute('select * from ソスミ茨ソス where ソスNソスソス=?', 40) do |row|
#rowソスヘ鯉ソスソスハの配ソスソス
puts row.join("\t")
end
ソスソスソスソス
ソスTソスソス 40 ソスcソスニ包ソス
ソス名とソスソスRソス[ソスhソスソスソス謫セソスソスソスソス
db.execute2('select * from ソスミ茨ソス') do |row|
#rowソスヘ鯉ソスソスハの配ソスソスBソスソスソスソスソスソスソスナ擾ソスソスフソスソスRソス[ソスhソスヘ列名。
puts row.join("\t")
end
ソスソスソスソス
ソスソスソスO ソスNソスソス ソスソスソスソス
ソスソスソス{ 26 ソスLソスソス
ソスソスソスソス 35 ソスcソスニ包ソス
ソスTソスソス 40 ソスcソスニ包ソス
ソス名とソスソスRソス[ソスhソスソスハ々ソスノ取得ソスソスソスソスソスソスソス鼾
# columnsソスノ列名、rowsソスノソスソスRソス[ソスhソスソスソスソスソスソス
columns, *rows = db.execute2('select * from ソスミ茨ソス')
ResultSetソスソスソス謫セソスソスソスソス
result = db.query('select * from ソスミ茨ソス')
result.each do |row|
puts row.join("\t")
end
ソスソスソスソス
ソスソスソス{ 26 ソスLソスソス
ソスソスソスソス 35 ソスcソスニ包ソス
ソスTソスソス 40 ソスcソスニ包ソス
ソスナ擾ソスソスフソスソスRソス[ソスhソスソスソス謫セソスソスソスソス
result = db.get_first_row('select * from ソスミ茨ソス')
puts result.join("\t")
ソスソスソスソス
ソスソスソス{ 26 ソスLソスソス
ソスナ擾ソスソスフソスソスRソス[ソスhソスフ最擾ソスソスフ値ソスソスソス謫セソスソスソスソス
count = db.get_first_value('select count(*) from ソスミ茨ソス')
puts count
ソスソスソスソス
3
#ソスソスソスソスフ包ソスソスソスソスソスソスLソス部に更ソスVソスソスソスソス
db.execute("update ソスミ茨ソス set ソスソスソスソス='ソスLソスソス' where ソスソスソスO='ソスソスソスソス'")
# ソスTソスソスソスソス除
db.execute("delete from ソスミ茨ソス where ソスソスソスO='ソスTソスソス'")
ソスuソスソスソスbソスNソスソス^ソスソスソスソスソス鼾ソスAソスIソスソスソスソスソスソスソスソスソス_ソスナコソス~ソスbソスgソスソスソスソスB
db.transaction do
sql = "insert into ソスミ茨ソス values (?, ?, ?)"
db.execute(sql, 'ソスソスソス{', 26, 'ソスLソスソス')
db.execute(sql, 'ソスソスソスソス', 35, 'ソスcソスニ包ソス')
db.execute(sql, 'ソスTソスソス', 40, 'ソスcソスニ包ソス')
end
ソスuソスソスソスbソスNソスソス^ソスソスソスネゑソスソス鼾ソスAソスソスソスソスソスIソスノコソス~ソスbソスgソスワゑソスソスヘソスソス[ソスソスソスoソスbソスNソスソスソスsソスソスソスB
db.transaction
begin
db.execute('delete from ソスミ茨ソス')
db.commit
rescue
db.rollback
end