Connessione di MySQL con NodeJS

Connecting Mysql With Nodejs



Il server MySQL è un server di database molto popolare ed è supportato dai linguaggi di programmazione maggiormente utilizzati, come PHP, Python, Perl, Java, C#, ecc. È un'applicazione open source, quindi chiunque può scaricare questa applicazione per archiviare, recuperare , aggiornamento ed eliminazione dei dati tramite query di database. Sarà necessario che i pacchetti server e client siano installati nel sistema per eseguire diversi tipi di operazioni di database nel server di database. Il server MySQL sta diventando popolare anche per gli sviluppatori di Node. Gli sviluppatori di nodi iniziano a utilizzare il server MySQL con MongoDB per alcune funzionalità speciali del server MySQL. Come è possibile stabilire una connessione con il server MySQL utilizzando il client node-mysql è mostrato in questo tutorial.

Prerequisito:

Prima di iniziare questo tutorial devi confermare che il server MySQL e i pacchetti client siano installati e funzionino correttamente nel tuo sistema. Se installi il server MySQL per la prima volta, la password dell'utente root è vuota per impostazione predefinita. Ma devi impostare la password per l'utente root per stabilire una connessione con il server MySQL usando il nodo-mysql cliente. Puoi controllare questo tutorial per sapere come modificare la password di root del server MySQL.







Eseguire i seguenti comandi per lavorare come utente root e connettersi con il server MySQL utilizzando il client MySQL.



$sudo -io
$ mysql-uradice-P

Immettere la password di root ed eseguire i seguenti comandi SQL per creare un nuovo database, creare una tabella su quel database e inserire alcuni record in quella tabella.



Il seguente comando creerà un database chiamato miodb .





CREARE BANCA DATI miodb;

Il seguente comando per selezionare il database per eseguire operazioni di database.

utilizzo miodb;

Il seguente comando creerà una tabella denominata prenotare nel database miodb.



CREARE TAVOLO prenotare(
ID INT (6) NON FIRMATO INCREMENTO AUTOMATICO CHIAVE PRIMARIA ,
titolo VARCHAR (cinquanta) NON NULLO ,
autore VARCHAR (cinquanta) NON NULLO ,
prezzo int (5));

Il seguente comando inserirà quattro record in prenotare tavolo.

INSERIRE IN prenotare valori
( NULLO ,'Imparare PHP e MySQL', 'Robin Nixon', Quattro cinque),
( NULLO ,'Apprendimento di JQuery', 'Jonathan', 35),
( NULLO ,'Angolosa in azione', 'Jeremy', cinquanta),
( NULLO ,'Padroneggiare Laravel', 'Cristoro', 55);

Installa il client mysql per nodejs:

Esegui il seguente comando per verificare nodejs è installato nel sistema prima di eseguire il comando di installazione del client mysql di nodejs. Mostrerà la versione installata di nodejs.

$nodo-v

Se non è installato, devi installarlo eseguendo il seguente comando.

$sudo apt-get installnodejs

Avrai bisogno di un altro pacchetto chiamato sopra il livello del mare da installare nel sistema per installare il client mysql per nodejs. Se non è installato prima, esegui il seguente comando per installare sopra il livello del mare .

$sudo apt-get installsopra il livello del mare

Ora, esegui il seguente comando per aggiornare il sistema.

$sudo apt-get update

Il seguente comando verrà installato mysql modulo per nodejs che funzionerà come client mysql.

$sopra il livello del mareinstallaremysql

Connessione MySQL semplice utilizzando NodeJS:

Crea un file JS chiamato connessione1.js con il seguente script per effettuare una connessione con il database precedentemente creato denominato miodb e leggere i dati da prenotare tavolo. mysql viene importato e utilizzato per creare una semplice connessione con il server MySQL. Successivamente, verrà eseguita una query per leggere tutti i record da prenotare tabella, se il database è connesso correttamente. Se la query è stata eseguita correttamente, tutti i record di prenotare la tabella verrà stampata nel terminale e la connessione al database verrà chiusa.

connessione1.js

// Importa modulo mysql
lascia che mysql=richiedere('mysql');

// Imposta il parametro di connessione al database
lascia la connessione=mysql.createConnection({
ospite: 'host locale',
utente: 'radice',
parola d'ordine: '1234',
Banca dati: 'miodb'
});

// Connettiti con il database
connessione.Collegare(funzione(e) {
Se (e) {

// Mostra messaggio di errore in caso di errore
Restituzioneconsolare.errore('errore:' +e.Messaggio);
}

// Mostra messaggio di successo se connesso
consolare.tronco d'albero(' Connesso al server MySQL... ');
});

// Imposta il messaggio di richiesta
$query= 'SELEZIONA * dal libro';

// Esegue la query del database
connessione.interrogazione($query, funzione(e,righe) {
Se(e){

// Mostra il messaggio di errore
consolare.tronco d'albero('Si è verificato un errore durante l'esecuzione della query.');
Restituzione;
}
/* Visualizza i dati formattati recuperati dalla tabella 'book'
usando il ciclo for */

consolare.tronco d'albero('I record della tabella del libro: ');
consolare.tronco d'albero('TitoloTTTTAutoreTTprezzo ');
per(lascia riga di righe) {
consolare.tronco d'albero(riga['titolo'],'TT',riga['autore'],'T','$',riga['prezzo']);
}
});

// Chiude la connessione al database
connessione.fine(funzione(){
consolare.tronco d'albero(' Connessione chiusa. ');
});

Produzione:

Eseguire il comando seguente per eseguire lo script.

$nodo connection1.js

Il seguente output apparirà dopo aver eseguito lo script.

Connessione MySQL in pool utilizzando NodeJS:

Creare una semplice connessione MySQL con NodeJS usando mysql modulo è mostrato nell'esempio precedente. Ma molti utenti possono connettersi con il server del database alla volta tramite l'applicazione quando l'applicazione viene creata con MySQL database per scopi di produzione. Avrai bisogno del esprimere modulo per gestire utenti di database simultanei e supportare più connessioni al database.

Eseguire il seguente comando per installare il esprimere modulo.

$sopra il livello del mareinstallareesprimere

Crea un file JS chiamato connessione2.js con il seguente script. Se ti connetti con MySQL con il seguente script, 10 utenti simultanei saranno in grado di stabilire una connessione con il server del database e recuperare i dati dalla tabella in base alla query. Effettuerà una connessione alla porta 5000.

connessione2.js

// Importa modulo mysql
dovemysql=richiedere('mysql');

// Importa modulo express
doveesprimere=richiedere('esprimere');

// Definisci l'oggetto del modulo express
doveapp=esprimere();

// Crea una connessione al database per gestire 10 utenti simultanei
dovepiscina=mysql.createPool({
connectionLimit:10,
ospite: 'host locale',
utente: 'radice',
parola d'ordine: '1234',
Banca dati: 'miodb',
eseguire il debug: vero
});

/* Crea una connessione in pool con un database e legge record specifici da una tabella di questo
Banca dati */

funzionehandle_database(richiesta,risposta) {

// Stabilisci la connessione
piscina.getConnection(funzione(e,connessione){
Se (e) {

//Invia messaggio di errore per connessione non riuscita e termina
risposta.json({'codice' : 300, 'stato' : 'Errore di connessione al database'});
Restituzione;
}

// Visualizza il messaggio di successo nel terminale
consolare.tronco d'albero('Database connesso');

// Legge record particolari dalla tabella del libro
connessione.interrogazione('SELEZIONA * dal libro in cui titolo come '%PHP%' o titolo come
'%Laravel%''
,funzione(e,righe){connessione.pubblicazione();
Se(!e) {

// Restituisce il set di risultati della query se viene eseguita con successo
risposta.json(righe);
}
});

// Controlla che l'errore di connessione si verifichi o meno
connessione.Su('errore', funzione(e) {
risposta.json({'codice' : 300, 'stato' : 'Errore di connessione al database'});
Restituzione;
});
});
}

// Chiama la funzione per creare connessioni
app.ottenere('/',funzione(richiesta,risposta){-
handle_database(richiesta,risposta);
});

// Ascolta la richiesta di connessione sulla porta 5000
app.Ascoltare(5000);

Produzione:

Esegui lo script dal terminale come nell'esempio precedente. Attenderà la richiesta di connessione dopo aver eseguito lo script.

$nodo connection2.js

Ora apri un qualsiasi browser e vai al seguente URL per inviare una richiesta di connessione.

http://localhost:5000

Il seguente output verrà visualizzato come risposta dopo l'esecuzione della query.

Se apri il terminale ora, vedrai il seguente output.

Dieci richieste di connessione possono essere inviate contemporaneamente da 10 browser con le modalità sopra indicate.

Conclusione:

I modi più semplici per lavorare con MySQL e NodeJS sono mostrati da due esempi in questo tutorial. Se sei un nuovo sviluppatore di Node e desideri lavorare con il database MySQL, spero che sarai in grado di svolgere il tuo compito dopo aver letto questo tutorial.