เคยแต่เขียน 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
คู่มือที่เหลือก็ดูได้จากหน้าเว็บของมันเองได้เลย