インストール
sudo gem install sequel
使ってみる
初期化処理を行い、テーブルを作成し、データをいくつか投入してみます。
require 'rubygems'
require 'sequel'
# initialize
DB = Sequel.sqlite('test.db')
# create database
DB.create_table :items do
primary_key :id
String :name
Float :price
end
# insert data
items = DB[:items]
items << {:name => 'foo', :price => 100}
items << {:name => 'bar', :price => 200}
まあ、何やってるかだいたいわかりますよね。
Sequel コンソール
以下のようにしてコンソールを立ち上げることができます。
sequel sqlite://test.db
諸々の初期化処理を行った状態で irb が起動してるんだと思います。
こういうツールが用意されてるっていいですね!
データの取得
上記で作成したデータをいろんなやり方で取得してみます。
Sequel コンソールで実行しました。
# count
> DB[:items].count
=> 2
# select all
> DB[:items].all
=> [{:price=>100.0, :name=>"foo", :id=>1}, {:price=>200.0, :name=>"bar", :id=>2}]
# select first
> DB[:items].first
=> {:price=>100.0, :name=>"foo", :id=>1}
# select id = 2
> DB[:items][:id => 2]
=> {:price=>200.0, :name=>"bar", :id=>2}
# select price = 200
> DB[:items].filter(:price => 200).all
=> [{:price=>200.0, :name=>"bar", :id=>2}]
# select price > 100
> DB[:items].filter{|i| i.price > 100}.all
=> [{:price=>200.0, :name=>"bar", :id=>2}]
# select price < 100
> DB[:items].filter('price < ?', 200).all
=> [{:price=>100.0, :name=>"foo", :id=>1}]
# select by sql
> DB['select * from items'].all
=> [{:price=>100.0, :name=>"foo", :id=>1}, {:price=>200.0, :name=>"bar", :id=>2}]
なんとなくイメージはつかめましたか?
