MySQL è uno dei database più diffusi al mondo e può essere facilmente integrato con Node.js tramite apposite librerie. Grazie a MySQL, possiamo salvare, modificare e gestire dati in modo semplice, mantenendo ordine nelle nostre applicazioni. Con Node.js e MySQL puoi:
Per gestire il backend del proprio sito web con MySQL, bisogna prima installarlo. Se hai già un hosting gestito, probabilmente MySQL è già installato nel server. Se stai lavorando in locale su un dispositivo, allora è necessario eseguire il download.
Per installare MySQL, vai al sito https://dev.mysql.com/downloads/mysql/ per scaricare l'installer per Mac, Windows o Linux.
Per prima cosa, seleziona l'ultima versione e il sistema operativo. Scarica la versione adatta al tuo dispositivo (x86 oppure ARM). Apri l'installer e segui le indicazioni. Ti chiederà di scegliere una password per accedere al database.
Una volta installato MySQL, puoi attivare il server MySQL in questo modo:
mysql -u root -pTi verrà chiesta la password del database, scelta al momento dell'installazione di MySQL.
Dal terminale, puoi eseguire istruzioni base di MySQL, come creare il primo database. Per farlo, utilizziamo la seguente istruzione:
CREATE DATABASE esempio;Per utilizzare MySQL all'interno di un'applicazione in Node.js, bisogna prima installare il modulo mysql. Per farlo, basta utilizzare npm all'interno della cartella del progetto (abbiamo visto in dettaglio l'installazione dei moduli nella lezione I moduli in Node.js).
npm install mysqlIl primo passo per utilizzare MySQL in Node.js è importare il modulo appena installato. Per farlo, utilizziamo l'istruzione require:
const mysql = require("mysql");
Prova
Una volta incluso il modulo, utilizziamo la funzione createConnection() per connetterci al database. Questa funzione deve contenere come argomenti le credenziali del database, e restituisce l'oggetto di connessione.
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "la_tua_password"
});Ricorda di inserire la password che hai scelto al momento dell'installazione di MySQL. Ora l'oggetto con contiene la connessione al database.
Ora puoi utilizzare connect() per controllare se la connessione è stata effettuata correttamente.
con.connect(function (err) {
if (err) throw err;
console.log("Connesso al database");
});
Prova
Ora che abbiamo stabilito la connessione con MySQL, possiamo provare a utilizzare Node.js per eseguire query SQL, ovvero istruzioni eseguite nel nostro database.
Utilizziamo l'istruzione con.query() per eseguire una query SQL.
Ad esempio, possiamo creare un database nuovo direttamente in Node.js:
const mysql = require("mysql");
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "la_tua_password"
});
con.connect(function (err) {
if (err) throw err;
console.log("Connesso al database");
con.query("CREATE DATABASE IF NOT EXISTS esempio;", function (err, result) {
if (err) throw err;
console.log("Database creato correttamente");
});
});
Prova
Nell'esempio:
mysql necessario per gestire i database in Node.js.con che contiene la connessione al database, attraverso le credenziali.con.connect(). Se c'è un errore, il programma termina automaticamente attraverso throw err.con.query(). In questo caso, vogliamo creare un database chiamato "esempio". Utilizziamo IF NOT EXISTS per fare in modo che, se il database già esiste, non venga ricreato.function(err, result).Nota: tutte le istruzioni SQL eseguite tramite Node.js devono terminare sempre con ";". Se non si aggiunge il punto e virgola finale, Node.js lo interpreterà come errore.
Dopo aver eseguito tutte le operazioni con MySQL, è importante chiudere la connessione al database. Questo libera le risorse e riduce il rischio di lasciare connessioni aperte che potrebbero essere sfruttate o causare problemi di prestazioni.
con.end((error) => {
if (err) throw err;
console.log("Connessione MySQL chiusa");
});
Prova