angelo.pezzullo
pubblicato più di 3 anni fa

Connessione a MySQL con Ruby

Un introduzione alla connessiona a MySQL da Ruby

In Ruby la connessione a MySQL è gestita dalla libreria (gem) “mysql”.

Per poter utilizzare una gem di Ruby, è necessario caricare il gestore delle gem “rubygems” mediante la seguente istruzione:

1require "rubygems"

Questa istruzione è necessaria a meno che non siamo su Rails dove il caricamento del gestore viene effettuato in automatico.

Ruby, di default, non carica le gem automaticamente e se vogliamo utilizzare una gem, dobbiamo inserirla nel percorso di inclusione delle gem utilizzando la variabile $LOAD_PATH.

Tuttavia modo più semplice per caricare la libreria, però, è quello di richiamarla con la direttiva gem.

1gem "mysql", "=2.7"

Una volta inserita la gem nel nostro contesto e decisa la versione, è possibile richiamare la classe principale come qualunque altra libreria standard.

Quindi, affinché un’applicazione Ruby possa accedere ad un database MySQL, si eseguono le seguenti istruzioni:

1require "rubygems" 
2gem "mysql", "=2.7" 
3require "mysql"

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:

1require "mysql" 
2db = 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.

Le operazioni sul database si eseguono attraverso normali query SQL che vengono passate come parametri al metodo query.

Esempio: Creazione Tabella

1db.query(" CREATE TABLE rubrica ( nome     CHAR(30) NOT NULL,
2                                  cognome  CHAR(30) NOT NULL,  
3                                  telefono CHAR(20) NOT NULL ); ")

Allo stesso modo, sempre utilizzando il metodo query, è possibile inserire record in una tabella, interrogare una tabella, ecc.

Al termine delle operazioni si esegue il seguente comando:

1db.close

il quale chiude la connessione con il server MySQL.

Di seguito sono riportati una serie di metodi che Ruby mette a disposizione per la comunicazione con il database.

 1#Per creare un database:
 2create_db()
 3
 4#Per cancellare un database:
 5
 6drop_db()
 7
 8#Per selezionare un database:
 9
10select_db()
11
12#Per gestire gli errori:
13
14error()
15errno()
16
17#Per il recupero delle informazioni sul client:
18
19client_info()
20client_version()
21
22#Per recuperare informazioni sul server:
23
24server_info()
25server_version()
26
27#Per utilizzare SSL:
28
29ssl_set()

Condividi su:

Esprimi un voto:

  • Current rating: 0.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic