Tag: quickstarts

Quick start to Ruby with MySQL

Posted by – December 14, 2010

เคยแต่เขียน Ruby on Rails ต่อกับ MySQL แต่ไม่เคยเขียน Ruby ต่อกับ MySQL ตรงๆ เลย เพิ่งจะจำเป็นต้องมาใช้เพื่อเช็คอะไรบางอย่างเล็กๆ น้อยๆ ไม่อยากจะต้องสร้าง rails process มาทั้งดุ้น มันเปลือง ram

เอาแบบด่วนๆ เร็วๆ ละกัน

เอา driver มาติดตั้งก่อน โดยจะมีตัวที่เขียนด้วยภาษา C กับเขียนด้วยภาษา Ruby ซึ่งจริงๆ แล้ว ถ้าใครมี gem ก็ติดต้ังผ่าน gem ได้เลย ด้วย

$ sudo gem install mysql

ตัวนี้จะเป็น driver ที่เขียนด้วยภาษา C

ขั้นตอนการต่อก็ค่อนข้างง่าย เริ่มต้นด้วยการ require ‘mysql’ แต่สำหรับการติดตั้งผ่าน gem ต้อง require ‘rubygems’ มาก่อน แล้วสร้าง connection แล้วค่อย query

require 'rubygems'
require 'mysql'
 
db = Mysql::new("host", "user", "passwd", "db")
res = db.query("select * from mytable")
res.each do |row|
  puts "id: #{row[0]}"
end

ผลที่ได้

id: 1
id: 2
id: 3
id: 4
...
...

ค่อนข้างง่าย index ของ array ก็จะเรียงตาม columns ของ table นั้นๆ

หรือถ้าจะระบุเป็น column name เลยก็ได้ ด้วย each_hash

res.each_hash do |row|
  puts "id: #{row['id']}"
end

คู่มือที่เหลือก็ดูได้จากหน้าเว็บของมันเองได้เลย