Azure Database for MySQL: Verwenden von Ruby zum Herstellen einer Verbindung und Abfragen von DatenAzure Database for MySQL: Use Ruby to connect and query data

In diesem Schnellstart wird gezeigt, wie Sie eine Verbindung mit einer Azure-Datenbank für MySQL per Ruby-Anwendung und mysql2-Gem auf Windows-, Ubuntu Linux- und Mac-Plattformen herstellen.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. Es wird veranschaulicht, wie Sie SQL-Anweisungen zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in der Datenbank verwenden.It shows how to use SQL statements to query, insert, update, and delete data in the database. Bei den Schritten in diesem Artikel wird davon ausgegangen, dass Sie mit der Ruby-Entwicklung vertraut sind und noch keine Erfahrung mit Azure Database for MySQL haben.This topic assumes that you are familiar with development using Ruby and that you are new to working with Azure Database for MySQL.

VoraussetzungenPrerequisites

In diesem Schnellstart werden die Ressourcen, die in den folgenden Anleitungen erstellt wurden, als Startpunkt verwendet:This quickstart uses the resources created in either of these guides as a starting point:

Installieren von RubyInstall Ruby

Installieren Sie Ruby, Gem und die MySQL2-Bibliothek auf Ihrem eigenen Computer.Install Ruby, Gem, and the MySQL2 library on your own computer.

WindowsWindows

  1. Laden Sie Version 2.3 von Ruby herunter, und installieren Sie sie.Download and Install the 2.3 version of Ruby.
  2. Starten Sie über das Menü „Start“ eine neue Eingabeaufforderung (cmd).Launch a new command prompt (cmd) from the Start menu.
  3. Wechseln Sie in das Ruby-Verzeichnis für Version 2.3.Change directory into the Ruby directory for version 2.3. cd c:\Ruby23-x64\bin
  4. Überprüfen Sie die Ruby-Installation, indem Sie den Befehl ruby -v ausführen, um die installierte Version anzuzeigen.Test the Ruby installation by running the command ruby -v to see the version installed.
  5. Überprüfen Sie die Gem-Installation, indem Sie den Befehl gem -v ausführen, um die installierte Version anzuzeigen.Test the Gem installation by running the command gem -v to see the version installed.
  6. Erstellen Sie das Mysql2-Modul für Ruby, indem Sie Gem mit dem Befehl gem install mysql2 ausführen.Build the Mysql2 module for Ruby using Gem by running the command gem install mysql2.

macOSMacOS

  1. Installieren Sie Ruby per Homebrew, indem Sie den Befehl brew install ruby ausführen.Install Ruby using Homebrew by running the command brew install ruby. Weitere Installationsoptionen finden Sie in der Installationsdokumentation zu Ruby.For more installation options, see the Ruby installation documentation.
  2. Überprüfen Sie die Ruby-Installation, indem Sie den Befehl ruby -v ausführen, um die installierte Version anzuzeigen.Test the Ruby installation by running the command ruby -v to see the version installed.
  3. Überprüfen Sie die Gem-Installation, indem Sie den Befehl gem -v ausführen, um die installierte Version anzuzeigen.Test the Gem installation by running the command gem -v to see the version installed.
  4. Erstellen Sie das Mysql2-Modul für Ruby, indem Sie Gem mit dem Befehl gem install mysql2 ausführen.Build the Mysql2 module for Ruby using Gem by running the command gem install mysql2.

Linux (Ubuntu)Linux (Ubuntu)

  1. Installieren Sie Ruby, indem Sie den Befehl sudo apt-get install ruby-full ausführen.Install Ruby by running the command sudo apt-get install ruby-full. Weitere Installationsoptionen finden Sie in der Installationsdokumentation zu Ruby.For more installation options, see the Ruby installation documentation.
  2. Überprüfen Sie die Ruby-Installation, indem Sie den Befehl ruby -v ausführen, um die installierte Version anzuzeigen.Test the Ruby installation by running the command ruby -v to see the version installed.
  3. Installieren Sie die neuesten Updates für Gem, indem Sie den Befehl sudo gem update --system ausführen.Install the latest updates for Gem by running the command sudo gem update --system.
  4. Überprüfen Sie die Gem-Installation, indem Sie den Befehl gem -v ausführen, um die installierte Version anzuzeigen.Test the Gem installation by running the command gem -v to see the version installed.
  5. Installieren Sie gcc, make und andere Buildtools, indem Sie den Befehl sudo apt-get install build-essential ausführen.Install the gcc, make, and other build tools by running the command sudo apt-get install build-essential.
  6. Installieren Sie die Entwicklerbibliotheken für den MySQL-Client, indem Sie den Befehl sudo apt-get install libmysqlclient-dev ausführen.Install the MySQL client developer libraries by running the command sudo apt-get install libmysqlclient-dev.
  7. Erstellen Sie das mysql2-Modul für Ruby, indem Sie Gem mit dem Befehl sudo gem install mysql2 ausführen.Build the mysql2 module for Ruby using Gem by running the command sudo gem install mysql2.

Abrufen von VerbindungsinformationenGet connection information

Rufen Sie die Verbindungsinformationen ab, die zum Herstellen einer Verbindung mit der Azure SQL-Datenbank für MySQL erforderlich sind.Get the connection information needed to connect to the Azure Database for MySQL. Sie benötigen den vollqualifizierten Servernamen und die Anmeldeinformationen.You need the fully qualified server name and login credentials.

  1. Melden Sie sich beim Azure-Portalan.Log in to the Azure portal.
  2. Klicken Sie im Azure-Portal im linken Menü auf Alle Ressourcen, und suchen Sie dann nach dem soeben erstellten Server, z.B. mydemoserver.From the left-hand menu in Azure portal, click All resources, and then search for the server you have created (such as mydemoserver).
  3. Klicken Sie auf den Servernamen.Click the server name.
  4. Notieren Sie sich im Bereich Übersicht des Servers den Servernamen und den Anmeldenamen des Serveradministrators.From the server's Overview panel, make a note of the Server name and Server admin login name. Wenn Sie Ihr Kennwort vergessen haben, können Sie es in diesem Bereich auch zurücksetzen.If you forget your password, you can also reset the password from this panel. Servername für Azure-Datenbank für MySQLAzure Database for MySQL server name

Ausführen von Ruby-CodeRun Ruby code

  1. Fügen Sie den Ruby-Code aus den Abschnitten unten in Textdateien ein, und speichern Sie dann die Dateien in einem Projektordner mit der Dateierweiterung „.rb“, z.B. C:\rubymysql\createtable.rb oder /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. Starten Sie zum Ausführen des Codes die Eingabeaufforderung oder die Bash-Shell.To run the code, launch the command prompt or Bash shell. Wechseln Sie mit cd rubymysql in das Verzeichnis Ihres Projektordners.Change directory into your project folder cd rubymysql
  3. Geben Sie anschließend den Ruby-Befehl gefolgt vom Dateinamen ein, z.B. ruby createtable.rb, um die Anwendung auszuführen.Then type the Ruby command followed by the file name, such as ruby createtable.rb to run the application.
  4. Unter Windows müssen Sie unter Umständen den vollständigen Pfad verwenden, um die Ruby-Anwendung zu starten, z.B. "c:\Ruby23-x64\bin\ruby.exe" createtable.rb, wenn sich die Ruby-Anwendung nicht unter dem Pfad der Umgebungsvariablen befindet.On 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

Herstellen einer Verbindung und Erstellen einer TabelleConnect and create a table

Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und eine Tabelle zu erstellen, indem Sie eine SQL-Anweisung des Typs CREATE TABLE gefolgt von SQL-Anweisungen des Typs INSERT INTO zum Hinzufügen von Zeilen zur Tabelle nutzen.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.

Im Code wird eine .new()-Methode der mysql2::client-Klasse verwendet, um eine Verbindung mit der Azure-Datenbank für MySQL herzustellen.The code uses a mysql2::client class .new() method to connect to Azure Database for MySQL. Anschließend wird mehrfach die query()-Methode aufgerufen, um die Befehle DROP, CREATE TABLE und INSERT INTO auszuführen.Then it calls method query() several times to run the DROP, CREATE TABLE, and INSERT INTO commands. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen.Then it calls method close() to close the connection before terminating.

Ersetzen Sie die Zeichenfolgen host, database, username und password durch Ihre eigenen Werte.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('mydemoserver.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@mydemoserver')
    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

Lesen von DatenRead data

Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung des Typs SELECT zu verbinden und zu lesen.Use the following code to connect and read the data by using a SELECT SQL statement.

Im Code wird eine „mysql2::client class.new()“-Methode verwendet, um eine Verbindung mit Azure Database for MySQL herzustellen.The code uses a mysql2::client class.new() method to connect to Azure Database for MySQL. Anschließend wird die query()-Methode aufgerufen, um die SELECT-Befehle auszuführen.Then it calls method query() to run the SELECT commands. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen.Then it calls method close() to close the connection before terminating.

Ersetzen Sie die Zeichenfolgen host, database, username und password durch Ihre eigenen Werte.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('mydemoserver.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@mydemoserver')
    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

Aktualisieren von DatenUpdate data

Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung des Typs UPDATE zu verbinden und zu aktualisieren.Use the following code to connect and update the data by using an UPDATE SQL statement.

Im Code wird eine .new()-Methode der mysql2::client-Klasse verwendet, um eine Verbindung mit der Azure-Datenbank für MySQL herzustellen.The code uses a mysql2::client class .new() method to connect to Azure Database for MySQL. Anschließend wird die query()-Methode aufgerufen, um die UPDATE-Befehle auszuführen.Then it calls method query() to run the UPDATE commands. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen.Then it calls method close() to close the connection before terminating.

Ersetzen Sie die Zeichenfolgen host, database, username und password durch Ihre eigenen Werte.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('mydemoserver.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@mydemoserver')
    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

Löschen von DatenDelete data

Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung des Typs DELETE zu verbinden und zu lesen.Use the following code to connect and read the data by using a DELETE SQL statement.

Im Code wird eine .new()-Methode der mysql2::client-Klasse verwendet, um eine Verbindung mit der Azure-Datenbank für MySQL herzustellen.The code uses a mysql2::client class .new() method to connect to Azure Database for MySQL. Anschließend wird die query()-Methode aufgerufen, um die DELETE-Befehle auszuführen.Then it calls method query() to run the DELETE commands. Anschließend wird die close()-Methode aufgerufen, um die Verbindung vor dem Beenden zu schließen.Then it calls method close() to close the connection before terminating.

Ersetzen Sie die Zeichenfolgen host, database, username und password durch Ihre eigenen Werte.Replace the host, database, username, and password strings with your own values.

require 'mysql2'

begin
    # Initialize connection variables.
    host = String('mydemoserver.mysql.database.azure.com')
    database = String('quickstartdb')
    username = String('myadmin@mydemoserver')
    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

Nächste SchritteNext steps