Home / Programmazione / Ruby / Connessione a MySQL con Ruby
Mattepuffo

Connessione a MySQL con Ruby

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!