Database di Azure per MySQL: usare Node.js per connettersi ai dati ed eseguire queryAzure Database for MySQL: Use Node.js to connect and query data

Questa guida introduttiva illustra come connettersi a un database di Azure per MySQL usando Node.js dalle piattaforme Windows, Ubuntu Linux e Mac.This quickstart demonstrates how to connect to an Azure Database for MySQL using Node.js 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 Node.js, ma non con Database di Azure per MySQL.This topic assumes that you are familiar with developing using Node.js 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:

È anche necessario:You also need to:

  • Installare il runtime di Node.js.Install the Node.js runtime.
  • Installare il pacchetto mysql2 per connettersi a MySQL dall'applicazione Node.js.Install mysql2 package to connect to MySQL from the Node.js application.

Installare Node.js e il connettore MySQLInstall Node.js and the MySQL connector

A seconda della piattaforma, seguire le istruzioni nella sezione appropriata per installare Node.js.Depending on your platform, follow the instructions in the appropriate section to install Node.js. Usare npm per installare il pacchetto mysql2 e le relative dipendenze nella cartella del progetto.Use npm to install the mysql2 package and its dependencies into your project folder.

WindowsWindows

  1. Visitare la pagina di download di Node.js e quindi selezionare l'opzione di installazione di Windows desiderata.Visit the Node.js downloads page, and then select your desired Windows installer option.
  2. Creare una cartella di progetto locale, ad esempio nodejsmysql.Make a local project folder such as nodejsmysql.
  3. Avviare il prompt dei comandi e quindi passare alla cartella del progetto, ad esempio cd c:\nodejsmysql\Launch the command prompt, and then change directory into the project folder, such as cd c:\nodejsmysql\
  4. Eseguire lo strumento NPM per installare la libreria mysql2 nella cartella del progetto.Run the NPM tool to install the mysql2 library into the project folder.

    cd c:\nodejsmysql\
    "C:\Program Files\nodejs\npm" install mysql2
    "C:\Program Files\nodejs\npm" list
    
  5. Verificare l'installazione controllando il testo di output npm list per mysql2@1.3.5.Verify the installation by checking the npm list output text for mysql2@1.3.5.

Linux (Ubuntu)Linux (Ubuntu)

  1. Eseguire questi comandi per installare Node.js e la gestione pacchetti npm per Node.js.Run the following commands to install Node.js and npm the package manager for Node.js.

    sudo apt-get install -y nodejs npm
    
  2. Eseguire questi comandi per creare una cartella di progetto mysqlnodejs e installare il pacchetto mysql2 nella cartella.Run the following commands to create a project folder mysqlnodejs and install the mysql2 package into that folder.

    mkdir nodejsmysql
    cd nodejsmysql
    npm install --save mysql2
    npm list
    
  3. Verificare l'installazione controllando il testo di output npm list per mysql2@1.3.5.Verify the installation by checking npm list output text for mysql2@1.3.5.

Mac OSMac OS

  1. Immettere i comandi seguenti per installare brew, una gestione pacchetti facile da usare per Mac OS X e 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. Eseguire questi comandi per creare una cartella di progetto mysqlnodejs e installare il pacchetto mysql2 nella cartella.Run the following commands to create a project folder mysqlnodejs and install the mysql2 package into that folder.

    mkdir nodejsmysql
    cd nodejsmysql
    npm install --save mysql2
    npm list
    
  3. Verificare l'installazione controllando il testo di output npm list per mysql2@1.3.6.Verify the installation by checking the npm list output text for mysql2@1.3.6. Il numero di versione può variare nel momento in cui vengono rilasciate nuove patch.The version number may vary as new patches are released.

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 riquadro a sinistra fare clic su Tutte le risorse e cercare il server creato, ad esempio myserver4demo.In the left pane, click All resources, and then search for the server you have created (for example, 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.

Esecuzione del codice JavaScript in Node.jsRunning the JavaScript code in Node.js

  1. Incollare il codice JavaScript nei file di testo e quindi salvarli in una cartella di progetto con estensione js, ad esempio C:\nodejsmysql\createtable.js o /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. Avviare il prompt dei comandi o la shell Bash e quindi passare alla cartella del progetto cd nodejsmysql.Launch the command prompt or bash shell, and then change directory into your project folder cd nodejsmysql.
  3. Per eseguire l'applicazione, digitare il comando node seguito dal nome del file, ad esempio node createtable.js.To run the application, type the node command followed by the file name, such as node createtable.js.
  4. In Windows, se l'applicazione Node non è presente nella variabile di ambiente PATH potrebbe essere necessario usare il percorso completo per avviare l'applicazione Node, ad esempio "C:\Program Files\nodejs\node.exe" createtable.jsOn 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

Connettersi, creare tabelle e inserire datiConnect, create table, and insert data

Usare il codice seguente per connettersi e caricare i dati usando le istruzioni SQL CREATE TABLE e INSERT INTO.Use the following code to connect and load the data by using CREATE TABLE and INSERT INTO SQL statements.

Il metodo mysql.createConnection() viene usato per l'interfaccia con il server MySQL.The mysql.createConnection() method is used to interface with the MySQL server. La funzione connect() viene usata per stabilire la connessione al server.The connect() function is used to establish the connection to the server. La funzione query() viene usata per eseguire la query SQL sul database MySQL.The query() function is used to execute the SQL query against MySQL database.

Sostituire i parametri host, user, password e database con i valori specificati al momento della creazione del server e del database.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql2');

var config =
{
    host: 'myserver4demo.mysql.database.azure.com',
    user: 'myadmin@myserver4demo',
    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.') 
        });
};

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 metodo mysql.createConnection() viene usato per l'interfaccia con il server MySQL.The mysql.createConnection() method is used to interface with the MySQL server. Il metodo connect() viene usato per stabilire la connessione al server.The connect() method is used to establish the connection to the server. Il metodo query() viene usato per eseguire la query SQL sul database MySQL.The query() method is used to execute the SQL query against MySQL database. La matrice dei risultati viene usata per contenere i risultati della query.The results array is used to hold the results of the query.

Sostituire i parametri host, user, password e database con i valori specificati al momento della creazione del server e del database.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql2');

var config =
{
    host: 'myserver4demo.mysql.database.azure.com',
    user: 'myadmin@myserver4demo',
    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.') 
        });
};

Aggiornare i datiUpdate data

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

Il metodo mysql.createConnection() viene usato per l'interfaccia con il server MySQL.The mysql.createConnection() method is used to interface with the MySQL server. Il metodo connect() viene usato per stabilire la connessione al server.The connect() method is used to establish the connection to the server. Il metodo query() viene usato per eseguire la query SQL sul database MySQL.The query() method is used to execute the SQL query against MySQL database.

Sostituire i parametri host, user, password e database con i valori specificati al momento della creazione del server e del database.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql2');

var config =
{
    host: 'myserver4demo.mysql.database.azure.com',
    user: 'myadmin@myserver4demo',
    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.') 
        });
};

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 metodo mysql.createConnection() viene usato per l'interfaccia con il server MySQL.The mysql.createConnection() method is used to interface with the MySQL server. Il metodo connect() viene usato per stabilire la connessione al server.The connect() method is used to establish the connection to the server. Il metodo query() viene usato per eseguire la query SQL sul database MySQL.The query() method is used to execute the SQL query against MySQL database.

Sostituire i parametri host, user, password e database con i valori specificati al momento della creazione del server e del database.Replace the host, user, password, and database parameters with the values that you specified when you created the server and database.

const mysql = require('mysql2');

var config =
{
    host: 'myserver4demo.mysql.database.azure.com',
    user: 'myadmin@myserver4demo',
    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.') 
        });
};

Passaggi successiviNext steps