メモリ上に DB を作る (SQLite3)

メモリ上に DB を作って、データを入れたり、参照したり。

#!/usr/bin/ruby

require 'rubygems'
require 'sqlite3'

sql = <<EOS
create table tbl_test (
    id    text,
    name  text
);
EOS

db = SQLite3::Database.new(":memory:")

db.execute(sql)

db.transaction  { |t|
  3.times do |i|
    t.execute("insert into tbl_test (id, name) values(?, ?)", i, "user#{i}")
  end
}

i = 0
db.execute('select * from tbl_test') do |row|
  i += 1
  puts "#{i}, #{row.join("\t")}"
end

db.close