Connessione a MySQL con Ruby
E' da tempo che voglio imparare un pò il linguaggio Ruby.
Oggi, dopo aver studiato un pò, ho deciso di aprire una nuova categoria dedicata al linguaggio.
Come primo argomento vederemo connetterci a un db MySQL, usando la libreria dedicata a questo db.
Volendo è disponibile anche DBI, che è più db-indipendent; ma non lo ho ancora usato.
Prima di tutto dobbiamo installare una GEM apposita:
$ sudo gem install mysql
A questo punto vediamo una piccola classe che si connette ed esgue una query:
#!/usr/bin/ruby -w
require "mysql"
class Connection
def get_connection
begin
db = Mysql.new("HOST", "USERNAME", "PASSWORD", "DATABASE")
res = db.query("SELECT * FROM states")
res.each_hash do |r|
puts "#{r['state_name']} - #{r['state_code_3']} - #{r['state_code_2']}"
end
rescue Mysql::Error => e
puts e.errno
puts e.error
ensure
db.close if db
end
end
end
c = Connection.new
c.get_connection
Prima di tutto richiamiamo la libreria appena installata.
Nel metodo get_connection, creiamo un nuovo oggetto Mysql, passando i 4 parametri (host, username, passowrd e database).
Sotto eseguiamo una query con la funzione query.
Poi cicliamo i recordo con la funzione each_hash.
Il tutto, controllando le eccezioni.
Enjoy!
ruby mysql query each_hash rubygems gem
Commentami!