RubyでMySQLを使用するには、2つのライブラリがあります。
インターフェースに互換性があります。
ダウンロードしたファイルを展開し、install.rb を実行します。
# ruby install.rb
mysql.rbを手動でコピーしてインストールすることもできます。
require 'mysql'
#db = Mysql::new("host", "user", "passwd", "db")
db = Mysql::new("localhost", "user", "passwd", "db")
db.create_db("test_db")
db.close
String型の「name」フィールド、 Integer型の「age」フィールド、 String型の「post」フィールド、を持つ「staff」テーブルを作成する。
sql = <<SQL
create table staff (
name varchar(10),
age integer,
post varchar(200)
)
SQL
db.query(sql)
db.query("insert into staff values ('橋本', 26, '広報部')")
レコードを配列で取得する
res = db.query('select * from staff')
res.each do |row|
#rowは結果の配列
puts row.join("\t")
end
結果
橋本 26 広報部
小泉 35 営業部
亀井 40 営業部
レコードをHashで取得する
res = db.query('select * from staff')
res.each_hash do |row|
#rowは結果のHash
p row
end
結果
{"name"=>"橋本", "post"=>"広報部", "age"=>"26"}
{"name"=>"小泉", "post"=>"営業部", "age"=>"35"}
{"name"=>"亀井", "post"=>"営業部", "age"=>"40"}
#小泉のpostを広報部に更新する
db.query("update staff set post='広報部' where name='小泉'")
# 亀井を削除
db.query("delete from 社員 where 名前='亀井'")
最後に生成された AUTO_INCREMENT 項目の値を取得する
db.insert_id