Schnellstart: Verwenden von Node.js zum Herstellen von Verbindungen mit Daten und Abfragen von Daten in Azure Database for MySQLQuickstart: Use Node.js to connect and query data in Azure Database for MySQL

In diesem Schnellstart wird gezeigt, wie Sie eine Verbindung mit einer Azure-Datenbank für MySQL per Node.js auf Windows-, Ubuntu Linux- und Mac-Plattformen herstellen.This quickstart demonstrates how to connect to an Azure Database for MySQL using Node.js 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 Node.js-Entwicklung vertraut sind und noch keine Erfahrung mit Azure Database for MySQL haben.This topic assumes that you are familiar with developing using Node.js 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:

Außerdem benötigen Sie Folgendes:You also need to:

  • Installation der Node.js-LaufzeitInstall the Node.js runtime.
  • Installation des mysql-Pakets zum Herstellen der Verbindung mit MySQL für die Node.js-AnwendungInstall mysql package to connect to MySQL from the Node.js application.

Installation von Node.js und MySQL-ConnectorInstall Node.js and the MySQL connector

Befolgen Sie für die Installation von Node.js je nach Plattform die Anweisungen im entsprechende Abschnitt.Depending on your platform, follow the instructions in the appropriate section to install Node.js. Verwenden Sie npm, um das mysql-Paket und die Abhängigkeiten in Ihrem Projektordner zu installieren.Use npm to install the mysql package and its dependencies into your project folder.

WindowsWindows

  1. Besuchen Sie die Node.js-Seite „Downloads“, und wählen Sie dann die gewünschte Windows Installer-Option aus.Visit the Node.js downloads page, and then select your desired Windows installer option.

  2. Erstellen Sie einen lokalen Projektordner, z.B. nodejsmysql.Make a local project folder such as nodejsmysql.

  3. Öffnen Sie die Eingabeaufforderung, und wechseln Sie zum Projektordner, z.B. mit cd c:\nodejsmysql\.Open the command prompt, and then change directory into the project folder, such as cd c:\nodejsmysql\

  4. Führen Sie das NPM-Tool aus, um die mysql-Bibliothek im Projektordner zu installieren.Run the NPM tool to install the mysql library into the project folder.

    cd c:\nodejsmysql\
    "C:\Program Files\nodejs\npm" install mysql
    "C:\Program Files\nodejs\npm" list
    
  5. Überprüfen Sie die Installation, indem Sie sich den Ausgabetext von npm list ansehen.Verify the installation by checking the npm list output text. Die Versionsnummer kann hiervon abweichen, wenn neue Patches veröffentlicht werden.The version number may vary as new patches are released.

Linux (Ubuntu)Linux (Ubuntu)

  1. Führen Sie die folgenden Befehle zum Installieren von Node.js und npm (Paket-Manager für Node.js) aus.Run the following commands to install Node.js and npm the package manager for Node.js.

    sudo apt-get install -y nodejs npm
    
  2. Führen Sie die folgenden Befehle aus, um den Projektordner mysqlnodejs zu erstellen und das mysql-Paket in diesem Ordner zu installieren.Run the following commands to create a project folder mysqlnodejs and install the mysql package into that folder.

    mkdir nodejsmysql
    cd nodejsmysql
    npm install --save mysql
    npm list
    
  3. Überprüfen Sie die Installation, indem Sie sich den Ausgabetext von „npm list“ ansehen.Verify the installation by checking npm list output text. Die Versionsnummer kann hiervon abweichen, wenn neue Patches veröffentlicht werden.The version number may vary as new patches are released.

Mac OSMac OS

  1. Geben Sie die folgenden Befehle zum Installieren von brew ein, einem einfach zu verwendenden Paket-Manager für Mac OS X und Node.js.Enter the following commands to install brew, an easy-to-use package manager for Mac OS X and Node.js.

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    brew install node
    
  2. Führen Sie die folgenden Befehle aus, um den Projektordner mysqlnodejs zu erstellen und das mysql-Paket in diesem Ordner zu installieren.Run the following commands to create a project folder mysqlnodejs and install the mysql package into that folder.

    mkdir nodejsmysql
    cd nodejsmysql
    npm install --save mysql
    npm list
    
  3. Überprüfen Sie die Installation, indem Sie sich den Ausgabetext von npm list ansehen.Verify the installation by checking the npm list output text. Die Versionsnummer kann hiervon abweichen, wenn neue Patches veröffentlicht werden.The version number may vary as new patches are released.

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. Wählen Sie im Azure-Portal im linken Menü Alle Ressourcen aus, und suchen Sie dann nach dem Server, den Sie erstellt haben (z.B. mydemoserver).From the left-hand menu in Azure portal, select All resources, and then search for the server you have created (such as mydemoserver).
  3. Wählen Sie den Servernamen aus.Select 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 des JavaScript-Codes in Node.jsRunning the JavaScript code in Node.js

  1. Fügen Sie den JavaScript-Code in Textdateien ein, und speichern Sie ihn dann in einem Projektordner mit der Dateierweiterung „.js“, z.B. „C:\nodejsmysql\createtable.js“ oder „/home/username/nodejsmysql/createtable.js“.Paste the JavaScript code into text files, and then save it into a project folder with file extension .js (such as C:\nodejsmysql\createtable.js or /home/username/nodejsmysql/createtable.js).
  2. Öffnen Sie die Eingabeaufforderung oder die Bash-Shell, und wechseln Sie zu Ihrem Projektordner: cd nodejsmysql.Open the command prompt or bash shell, and then change directory into your project folder cd nodejsmysql.
  3. Um die Anwendung auszuführen, geben Sie den node-Befehl gefolgt vom Dateinamen ein, z.B. node createtable.js.To run the application, enter the node command followed by the file name, such as node createtable.js.
  4. Unter Windows müssen Sie unter Umständen den vollständigen Pfad verwenden, um die Node-Anwendung zu starten, z.B. "C:\Program Files\nodejs\node.exe" createtable.js, wenn sich die Node-Anwendung nicht unter dem Pfad der Umgebungsvariablen befindet.On Windows, if the node application is not in your environment variable path, you may need to use the full path to launch the node application, such as "C:\Program Files\nodejs\node.exe" createtable.js

Herstellen der Verbindung, Erstellen der Tabelle und Einfügen von DatenConnect, create table, and insert data

Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und die Daten zu laden, indem Sie die SQL-Anweisungen CREATE TABLE und INSERT INTO verwenden.Use the following code to connect and load the data by using CREATE TABLE and INSERT INTO SQL statements.

Die mysql.createConnection()-Methode wird verwendet, um die Kommunikation mit dem MySQL-Server zu ermöglichen.The mysql.createConnection() method is used to interface with the MySQL server. Die Funktion connect() wird verwendet, um die Verbindung mit dem Server herzustellen.The connect() function is used to establish the connection to the server. Die Funktion query() wird verwendet, um die SQL-Abfrage für die MySQL-Datenbank auszuführen.The query() function is used to execute the SQL query against MySQL database.

Ersetzen Sie die Parameter host, user, password und database durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql');

var config =
{
    host: 'mydemoserver.mysql.database.azure.com',
    user: 'myadmin@mydemoserver',
    password: 'your_password',
    database: 'quickstartdb',
    port: 3306,
    ssl: true
};

const conn = new mysql.createConnection(config);

conn.connect(
    function (err) { 
    if (err) { 
        console.log("!!! Cannot connect !!! Error:");
        throw err;
    }
    else
    {
       console.log("Connection established.");
           queryDatabase();
    }   
});

function queryDatabase(){
       conn.query('DROP TABLE IF EXISTS inventory;', function (err, results, fields) { 
            if (err) throw err; 
            console.log('Dropped inventory table if existed.');
        })
       conn.query('CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);', 
            function (err, results, fields) {
                if (err) throw err;
            console.log('Created inventory table.');
        })
       conn.query('INSERT INTO inventory (name, quantity) VALUES (?, ?);', ['banana', 150], 
            function (err, results, fields) {
                if (err) throw err;
            else console.log('Inserted ' + results.affectedRows + ' row(s).');
        })
       conn.query('INSERT INTO inventory (name, quantity) VALUES (?, ?);', ['orange', 154], 
            function (err, results, fields) {
                if (err) throw err;
            console.log('Inserted ' + results.affectedRows + ' row(s).');
        })
       conn.query('INSERT INTO inventory (name, quantity) VALUES (?, ?);', ['apple', 100], 
        function (err, results, fields) {
                if (err) throw err;
            console.log('Inserted ' + results.affectedRows + ' row(s).');
        })
       conn.end(function (err) { 
        if (err) throw err;
        else  console.log('Done.') 
        });
};

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.

Die mysql.createConnection()-Methode wird verwendet, um die Kommunikation mit dem MySQL-Server zu ermöglichen.The mysql.createConnection() method is used to interface with the MySQL server. Die connect()-Methode wird verwendet, um die Verbindung mit dem Server herzustellen.The connect() method is used to establish the connection to the server. Die query()-Methode wird verwendet, um die SQL-Abfrage für die MySQL-Datenbank auszuführen.The query() method is used to execute the SQL query against MySQL database. Das results-Array wird für die Ergebnisse der Abfrage verwendet.The results array is used to hold the results of the query.

Ersetzen Sie die Parameter host, user, password und database durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql');

var config =
{
    host: 'mydemoserver.mysql.database.azure.com',
    user: 'myadmin@mydemoserver',
    password: 'your_password',
    database: 'quickstartdb',
    port: 3306,
    ssl: true
};

const conn = new mysql.createConnection(config);

conn.connect(
    function (err) { 
        if (err) { 
            console.log("!!! Cannot connect !!! Error:");
            throw err;
        }
        else {
            console.log("Connection established.");
            readData();
        }   
    });

function readData(){
        conn.query('SELECT * FROM inventory', 
            function (err, results, fields) {
                if (err) throw err;
                else console.log('Selected ' + results.length + ' row(s).');
                for (i = 0; i < results.length; i++) {
                    console.log('Row: ' + JSON.stringify(results[i]));
                }
                console.log('Done.');
            })
       conn.end(
           function (err) { 
                if (err) throw err;
                else  console.log('Closing connection.') 
        });
};

Aktualisieren von DatenUpdate data

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

Die mysql.createConnection()-Methode wird verwendet, um die Kommunikation mit dem MySQL-Server zu ermöglichen.The mysql.createConnection() method is used to interface with the MySQL server. Die connect()-Methode wird verwendet, um die Verbindung mit dem Server herzustellen.The connect() method is used to establish the connection to the server. Die query()-Methode wird verwendet, um die SQL-Abfrage für die MySQL-Datenbank auszuführen.The query() method is used to execute the SQL query against MySQL database.

Ersetzen Sie die Parameter host, user, password und database durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql');

var config =
{
    host: 'mydemoserver.mysql.database.azure.com',
    user: 'myadmin@mydemoserver',
    password: 'your_password',
    database: 'quickstartdb',
    port: 3306,
    ssl: true
};

const conn = new mysql.createConnection(config);

conn.connect(
    function (err) { 
        if (err) { 
            console.log("!!! Cannot connect !!! Error:");
            throw err;
        }
        else {
            console.log("Connection established.");
            updateData();
        }   
    });

function updateData(){
       conn.query('UPDATE inventory SET quantity = ? WHERE name = ?', [200, 'banana'], 
            function (err, results, fields) {
                if (err) throw err;
                else console.log('Updated ' + results.affectedRows + ' row(s).');
        })
       conn.end(
           function (err) { 
                if (err) throw err;
                else  console.log('Done.') 
        });
};

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.

Die mysql.createConnection()-Methode wird verwendet, um die Kommunikation mit dem MySQL-Server zu ermöglichen.The mysql.createConnection() method is used to interface with the MySQL server. Die connect()-Methode wird verwendet, um die Verbindung mit dem Server herzustellen.The connect() method is used to establish the connection to the server. Die query()-Methode wird verwendet, um die SQL-Abfrage für die MySQL-Datenbank auszuführen.The query() method is used to execute the SQL query against MySQL database.

Ersetzen Sie die Parameter host, user, password und database durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql');

var config =
{
    host: 'mydemoserver.mysql.database.azure.com',
    user: 'myadmin@mydemoserver',
    password: 'your_password',
    database: 'quickstartdb',
    port: 3306,
    ssl: true
};

const conn = new mysql.createConnection(config);

conn.connect(
    function (err) { 
        if (err) { 
            console.log("!!! Cannot connect !!! Error:");
            throw err;
        }
        else {
            console.log("Connection established.");
            deleteData();
        }   
    });

function deleteData(){
       conn.query('DELETE FROM inventory WHERE name = ?', ['orange'], 
            function (err, results, fields) {
                if (err) throw err;
                else console.log('Deleted ' + results.affectedRows + ' row(s).');
        })
       conn.end(
           function (err) { 
                if (err) throw err;
                else  console.log('Done.') 
        });
};

Nächste SchritteNext steps