Database di Azure per MySQL: usare Ruby per connettersi ed eseguire query sui datiAzure Database for MySQL: Use Ruby to connect and query data

Questa guida introduttiva illustra come connettersi a un database di Azure per MySQL usando un'applicazione Ruby e Gem mysql2 dalle piattaforme Windows, Ubuntu Linux e Mac.This quickstart demonstrates how to connect to an Azure Database for MySQL using a Ruby application and the mysql2 gem from Windows, Ubuntu Linux, and Mac platforms. Spiega come usare le istruzioni SQL per eseguire query, inserire, aggiornare ed eliminare dati nel database.It shows how to use SQL statements to query, insert, update, and delete data in the database. Questo argomento presuppone che si abbia familiarità con lo sviluppo con Ruby, ma non con Database di Azure per MySQL.This topic assumes that you are familiar with development using Ruby and that you are new to working with Azure Database for MySQL.

PrerequisitiPrerequisites

Questa guida introduttiva usa le risorse create in una delle guide seguenti come punto di partenza:This quickstart uses the resources created in either of these guides as a starting point:

Installare RubyInstall Ruby

Installare Ruby, Gem e la libreria MySQL2 nel computer.Install Ruby, Gem, and the MySQL2 library on your own computer.

WindowsWindows

  1. Scaricare e installare la versione 2.3 di Ruby.Download and Install the 2.3 version of Ruby.
  2. Avviare un nuovo prompt dei comandi (cmd) dal menu Start.Launch a new command prompt (cmd) from the Start menu.
  3. Passare alla directory di Ruby per la versione 2.3.Change directory into the Ruby directory for version 2.3. cd c:\Ruby23-x64\bin
  4. Verificare l'installazione di Ruby eseguendo il comando ruby -v per visualizzare la versione installata.Test the Ruby installation by running the command ruby -v to see the version installed.
  5. Verificare l'installazione di Gem eseguendo il comando gem -v per visualizzare la versione installata.Test the Gem installation by running the command gem -v to see the version installed.
  6. Compilare il modulo Mysql2 per Ruby con Gem eseguendo il comando gem install mysql2.Build the Mysql2 module for Ruby using Gem by running the command gem install mysql2.

MacOSMacOS

  1. Eseguire il comando brew install ruby per installare Ruby usando Homebrew.Install Ruby using Homebrew by running the command brew install ruby. Per altre opzioni di installazione, vedere la documentazione sull'installazione di Ruby.For more installation options, see the Ruby installation documentation.
  2. Verificare l'installazione di Ruby eseguendo il comando ruby -v per visualizzare la versione installata.Test the Ruby installation by running the command ruby -v to see the version installed.
  3. Verificare l'installazione di Gem eseguendo il comando gem -v per visualizzare la versione installata.Test the Gem installation by running the command gem -v to see the version installed.
  4. Compilare il modulo Mysql2 per Ruby con Gem eseguendo il comando gem install mysql2.Build the Mysql2 module for Ruby using Gem by running the command gem install mysql2.

Linux (Ubuntu)Linux (Ubuntu)

  1. Installare Ruby eseguendo il comando sudo apt-get install ruby-full.Install Ruby by running the command sudo apt-get install ruby-full. Per altre opzioni di installazione, vedere la documentazione sull'installazione di Ruby.For more installation options, see the Ruby installation documentation.
  2. Verificare l'installazione di Ruby eseguendo il comando ruby -v per visualizzare la versione installata.Test the Ruby installation by running the command ruby -v to see the version installed.
  3. Installare gli aggiornamenti più recenti per Gem eseguendo il comando sudo gem update --system.Install the latest updates for Gem by running the command sudo gem update --system.
  4. Verificare l'installazione di Gem eseguendo il comando gem -v per visualizzare la versione installata.Test the Gem installation by running the command gem -v to see the version installed.
  5. Installare gcc, make e altri strumenti di compilazione eseguendo il comando sudo apt-get install build-essential.Install the gcc, make, and other build tools by running the command sudo apt-get install build-essential.
  6. Installare le librerie di sviluppo client MySQL eseguendo il comando sudo apt-get install libmysqlclient-dev.Install the MySQL client developer libraries by running the command sudo apt-get install libmysqlclient-dev.
  7. Compilare il modulo Mysql2 per Ruby con Gem eseguendo il comando sudo gem install mysql2.Build the mysql2 module for Ruby using Gem by running the command sudo gem install mysql2.

Ottenere informazioni di connessioneGet connection information

Ottenere le informazioni di connessione necessarie per connettersi al database di Azure per MySQL.Get the connection information needed to connect to the Azure Database for MySQL. Sono necessari il nome del server completo e le credenziali di accesso.You need the fully qualified server name and login credentials.

  1. Accedere al Portale di Azure.Log in to the Azure portal.
  2. Nel menu a sinistra nel portale di Azure fare clic su Tutte le risorse e cercare il server creato, ad esempio myserver4demo.From the left-hand menu in Azure portal, click All resources, and then search for the server you have creased (such as myserver4demo).
  3. Fare clic sul nome server myserver4demo.Click the server name myserver4demo.
  4. Selezionare la pagina Proprietà del server e prendere nota dei valori riportati in Nome server e Nome di accesso dell'amministratore server.Select the server's Properties page, and then make a note of the Server name and Server admin login name. Database di Azure per MySQL - Accesso dell'amministratore del serverAzure Database for MySQL - Server Admin Login
  5. Se si dimenticano le informazioni di accesso per il server, passare alla pagina Panoramica per visualizzare il nome di accesso dell'amministratore del server e, se necessario, reimpostare la password.If you forget your server login information, navigate to the Overview page to view the Server admin login name, and if necessary reset the password.

Eseguire il codice RubyRun Ruby code

  1. Incollare in file di testo il codice Ruby riportato nelle sezioni seguenti, quindi salvare i file nella cartella del progetto con l'estensione rb, ad esempio C:\rubymysql\createtable.rb o /home/username/rubymysql/createtable.rb.Paste the Ruby code from the sections below into text files, and then save the files into a project folder with file extension .rb (such as C:\rubymysql\createtable.rb or /home/username/rubymysql/createtable.rb).
  2. Per eseguire il codice, avviare il prompt dei comandi o la shell Bash.To run the code, launch the command prompt or Bash shell. Passare alla cartella del progetto cd rubymysqlChange directory into your project folder cd rubymysql
  3. Per eseguire l'applicazione, digitare quindi il comando Ruby seguito dal nome del file, ad esempio ruby createtable.rb.Then type the Ruby command followed by the file name, such as ruby createtable.rb to run the application.
  4. Nel sistema operativo Windows, se l'applicazione Ruby non è presente nella variabile di ambiente PATH potrebbe essere necessario usare il percorso completo per avviare l'applicazione Ruby, ad esempio "c:\Ruby23-x64\bin\ruby.exe" createtable.rbOn the Windows OS, if the Ruby application is not in your path environment variable, you may need to use the full path to launch the node application, such as "c:\Ruby23-x64\bin\ruby.exe" createtable.rb

Connettersi e creare una tabellaConnect and create a table

Usare il codice seguente per connettersi e creare una tabella usando l'istruzione SQL CREATE TABLE, seguita dalle istruzioni SQL INSERT INTO per aggiungere righe nella tabella.Use the following code to connect and create a table by using CREATE TABLE SQL statement, followed by INSERT INTO SQL statements to add rows into the table.

Il codice usa un metodo mysql2::client class .new() per la connessione ad Azure Database per MySQL.The code uses a mysql2::client class .new() method to connect to Azure Database for MySQL. Chiama quindi il metodo query() più volte per eseguire i comandi DROP, CREATE TABLE e INSERT INTO.Then it calls method query() several times to run the DROP, CREATE TABLE, and INSERT INTO commands. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, username e password con valori personalizzati.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('myserver4demo.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@myserver4demo')
    password = String('yourpassword')

    # Initialize connection object.
    client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
    puts 'Successfully created connection to database.'

    # Drop previous table of same name if one exists
    client.query('DROP TABLE IF EXISTS inventory;')
    puts 'Finished dropping table (if existed).'

    # Drop previous table of same name if one exists.
    client.query('CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);')
    puts 'Finished creating table.'

    # Insert some data into table.
    client.query("INSERT INTO inventory VALUES(1, 'banana', 150)")
    client.query("INSERT INTO inventory VALUES(2, 'orange', 154)")
    client.query("INSERT INTO inventory VALUES(3, 'apple', 100)")
    puts 'Inserted 3 rows of data.'

# Error handling
rescue Exception => e
    puts e.message

# Cleanup
ensure
    client.close if client
    puts 'Done.'
end

Leggere i datiRead data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL SELECT.Use the following code to connect and read the data by using a SELECT SQL statement.

Il codice usa un metodo mysql2::client class.new() per la connessione a Database di Azure per MySQL.The code uses a mysql2::client class.new() method to connect to Azure Database for MySQL. Chiama quindi il metodo query() per eseguire i comandi SELECT.Then it calls method query() to run the SELECT commands. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, username e password con valori personalizzati.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('myserver4demo.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@myserver4demo')
    password = String('yourpassword')

    # Initialize connection object.
    client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
    puts 'Successfully created connection to database.'

    # Read data
    resultSet = client.query('SELECT * from inventory;')
    resultSet.each do |row|
        puts 'Data row = (%s, %s, %s)' % [row['id'], row['name'], row['quantity']]
    end
    puts 'Read ' + resultSet.count.to_s + ' row(s).'

# Error handling
rescue Exception => e
    puts e.message

# Cleanup
ensure
    client.close if client
    puts 'Done.'
end

Aggiornare i datiUpdate data

Usare il codice seguente per connettersi e aggiornare i dati usando un'istruzione SQL UPDATE.Use the following code to connect and update the data by using an UPDATE SQL statement.

Il codice usa un metodo mysql2::client class .new() per la connessione ad Azure Database per MySQL.The code uses a mysql2::client class .new() method to connect to Azure Database for MySQL. Chiama quindi il metodo query() per eseguire i comandi UPDATE.Then it calls method query() to run the UPDATE commands. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, username e password con valori personalizzati.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('myserver4demo.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@myserver4demo')
    password = String('yourpassword')

    # Initialize connection object.
    client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
    puts 'Successfully created connection to database.'

    # Update data
   client.query('UPDATE inventory SET quantity = %d WHERE name = %s;' % [200, '\'banana\''])
   puts 'Updated 1 row of data.'

# Error handling
rescue Exception => e
    puts e.message

# Cleanup
ensure
    client.close if client
    puts 'Done.'
end

Eliminare i datiDelete data

Usare il codice seguente per connettersi e leggere i dati usando un'istruzione SQL DELETE.Use the following code to connect and read the data by using a DELETE SQL statement.

Il codice usa un metodo mysql2::client class .new() per la connessione ad Azure Database per MySQL.The code uses a mysql2::client class .new() method to connect to Azure Database for MySQL. Chiama quindi il metodo query() per eseguire i comandi DELETE.Then it calls method query() to run the DELETE commands. Chiama infine il metodo close() per chiudere la connessione prima di terminare.Then it calls method close() to close the connection before terminating.

Sostituire le stringhe host, database, username e password con valori personalizzati.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('myserver4demo.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@myserver4demo')
    password = String('yourpassword')

    # Initialize connection object.
    client = Mysql2::Client.new(:host => host, :username => username, :database => database, :password => password)
    puts 'Successfully created connection to database.'

    # Delete data
    resultSet = client.query('DELETE FROM inventory WHERE name = %s;' % ['\'orange\''])
    puts 'Deleted 1 row.'

# Error handling
rescue Exception => e
    puts e.message

# Cleanup
ensure
    client.close if client
    puts 'Done.'
end

Passaggi successiviNext steps