Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 2 di 32
  • livello principiante
Indice lezioni

Ruby e MySQL

Come interagire con il più importante dei DBMS open source
Come interagire con il più importante dei DBMS open source
Link copiato negli appunti

Iniziamo con uno dei database più utilizzati nel mondo open source e non solo: MySQL. Vediamo come si eseguono le normali operazioni di base. Per accedere ad un database già esistente basta creare un nuovo oggetto di tipo Mysql con il metodo new passandogli come argomenti i parametri per la connessione, che sono rispettivamente il nome dell'host che ospita il server mysql, l'utente e la password di accesso al database e il nome del database che ci interessa.

Esempio di connessione a MySQL

require 'mysql'
db = Mysql.new("localhost","user","password","test")

Gli altri metodi per la connessione al server sono real_connect() e connect() che prendono gli stessi argomenti di new.

Per il resto c'è poco da dire, le operazioni sul database si eseguono attraverso normali query SQL che possiamo inviare attraverso il metodo query. Possiamo, ad esempio, creare una tabella.

Creare una tabella

db.query("CREATE TABLE libro (
          titolo CHAR(100) NOT NULL, 
          autore CHAR(40) NOT NULL, 
          anno YEAR(4));
")

I dati vanno inseriti con lo stesso metodo utilizzando un'adeguata query SQL

Inserire i dati

db.query("INSERT INTO libro (titolo, autore, anno) VALUES
    ('Lo straniero','Albert Camus', 1942),
    ('Autobiografia di un monaco zen','Taisen Deshimanru', 2000),
    ('I proscritti','Ernst Von Salomon', 1930)
")

Utilizziamo il metodo query anche per le selezioni

Interrogare la tabella

ris = db.query("SELECT * FROM libro ORDER BY anno")

ris.each_hash do |r|
  print "#{r['titolo']} - #{r['autore']}"
end

Il metodo each_hash non fa altro che iterare su tutti i risultati creando da questi degli hash che hanno come chiave il nome della colonna e come valore il contenuto del campo. Al termine delle operazioni il database va chiuso con

db.close

che chiude la connessione con il server MySQL. Tra gli altri metodi, dall'ovvio significato, vanno ricordati

Metodo funzione
create_db() per creare un database
drop_db() per cancellare un database
select_db() per selezionare un database
error()
errno()
per la gestione degli errori
client_info()
client_version()
per recuperare informazioni sul client
server_info()
server_version()
per recuperare informazioni sul server
ssl_set() per utilizzare SSL

Non occorre aggiungere altro. Da quello che abbiamo visto, infatti, per usare MySQL nelle applicazioni Ruby più che i metodi della libreria occorre saper scrivere query in SQL.

Ti consigliamo anche