Ansluter MySQL med NodeJS

Connecting Mysql With Nodejs



MySQL-server är en mycket populär databasserver och den stöds av mest använda programmeringsspråk, till exempel PHP, Python, Perl, Java, C#, etc. Det är en öppen källkodsprogram, så vem som helst kan ladda ner den här applikationen för lagring, hämtning , uppdatera och ta bort data med hjälp av databasfrågor. Du kommer att kräva att server- och klientpaketen installeras i ditt system för att utföra olika typer av databasoperationer i databaseservern. MySQL -server blir nu också populär för Node -utvecklare. Nodutvecklare börjar använda MySQL -server med MongoDB för några specialfunktioner i MySQL -servern. Hur du kan ansluta till MySQL-servern med nod-mysql-klienten visas i den här självstudien.

Nödvändig förutsättning:

Innan du börjar den här självstudien måste du bekräfta att MySQL -server och klientpaket är installerade och fungerar korrekt i ditt system. Om du installerar MySQL -servern för första gången är lösenordet för rotanvändaren som standard tomt. Men du måste ange lösenordet för rotanvändaren för att ansluta till MySQL -servern med nod-mysql klient. Du kan kontrollera detta handledning för att veta hur man ändrar rotlösenordet för MySQL -servern.







Kör följande kommandon för att fungera som en rotanvändare och ansluta till MySQL -servern med MySQL -klient.



$sudo -i
$ mysql-urot-s

Ange rotlösenordet och kör följande SQL -kommandon för att skapa en ny databas, skapa en tabell i databasen och infoga några poster i tabellen.



Följande kommando skapar en databas med namnet mydb .





SKAPA DATABAS mydb;

Följande kommando för att välja databas för att utföra databasoperationer.

använda sig av mydb;

Följande kommando skapar en tabell med namnet bok i databasen mydb.



SKAPA TABELL bok(
id INT (6) OSIGNERAD AUTO_INCREMENT PRIMÄRNYCKEL ,
titel VARCHAR (femtio) INTE NULL ,
författare VARCHAR (femtio) INTE NULL ,
pris int (5));

Följande kommando infogar fyra poster i bok tabell.

FÖRA IN IN I bok värden
( NULL ,'Lär dig PHP och MySQL', 'Robin Nixon', Fyra fem),
( NULL ,'Lärande JQuery', 'Jonathan', 35),
( NULL ,'Angular in Action', 'Jeremy', femtio),
( NULL ,'Mastering Laravel', 'Christopher', 55);

Installera mysql -klienten för nodejs:

Kör följande kommando för att kontrollera nodejs är installerat i systemet innan du kör kommandot för att installera mysql -klienten för nodejs. Den visar den installerade versionen av nodejs.

$nod-v

Om det inte är installerat måste du installera det genom att köra följande kommando.

$sudo apt-get installnodejs

Du kommer att behöva ett annat paket med namnet över havsnivå att installeras i systemet för att installera mysql -klient för nodejs. Om det inte är installerat innan du kör följande kommando för att installera över havsnivå .

$sudo apt-get installöver havsnivå

Kör nu följande kommando för att uppdatera systemet.

$sudo apt-get uppdatering

Följande kommando installeras mysql modul för nodejs som fungerar som mysql -klient.

$över havsnivåInstalleramysql

Enkel MySQL -anslutning med NodeJS:

Skapa en JS -fil med namnet connection1.js med följande skript för att upprätta en anslutning till den tidigare skapade databasen mydb och läs data från bok tabell. mysql modulen importeras och används för att skapa en enkel anslutning till MySQL -servern. Därefter körs en fråga för att läsa alla poster från bok tabell, om databasen är korrekt ansluten. Om frågan körs korrekt så alla poster av bok tabellen skrivs ut i terminalen och databasanslutningen stängs.

connection1.js

// Importera mysql -modulen
låt mysql=behöva('mysql');

// Installera databasanslutningsparameter
låt anslutningen=mysql.skapa anslutning({
värd: 'lokal värd',
användare: 'rot',
Lösenord: '1234',
databas: 'mydb'
});

// Anslut till databasen
förbindelse.ansluta(fungera(Och) {
om (Och) {

// Visa felmeddelanden vid fel
lämna tillbakatrösta.fel('fel:' +Och.meddelande);
}

// Visa framgångsmeddelande om den är ansluten
trösta.logga(' nAnsluten till MySQL -servern ... n');
});

// Ställ in frågemeddelandet
$ fråga= 'VÄLJ * från boken';

// Utför databasfrågan
förbindelse.fråga($ fråga, fungera(Och,rader) {
om(Och){

// Visa felmeddelandet
trösta.logga('Ett fel uppstod vid genomförandet av frågan.');
lämna tillbaka;
}
/* Visa de formaterade data som hämtats från 'bok' -tabellen
använder för loop */

trösta.logga('Bokböckerna: n');
trösta.logga('Titel t t t tFörfattare t tpris n');
för(låt rad rader) {
trösta.logga(rad['titel'],' t t',rad['författare'],' t','$',rad['pris']);
}
});

// Stäng databasanslutningen
förbindelse.slutet(fungera(){
trösta.logga(' nAnslutningen stängd. n');
});

Produktion:

Kör följande kommando för att köra skriptet.

$nodanslutning1.js

Följande utdata visas efter att manuset har körts.

Samlad MySQL -anslutning med NodeJS:

Gör en enkel MySQL -anslutning med NodeJS med mysql modulen visas i föregående exempel. Men många användare kan ansluta till databasservern åt gången genom programmet när programmet skapas med MySQL databas för produktionsändamål. Du kommer att kräva uttrycka modul för att hantera samtidiga databasanvändare och stödja flera databasanslutningar.

Kör följande kommando för att installera uttrycka modul.

$över havsnivåInstallerauttrycka

Skapa en JS -fil med namnet connection2.js med följande skript. Om du ansluter till MySQL med följande skript kommer 10 samtidiga användare att kunna ansluta till databasservern och hämta data från tabellen baserat på frågan. Det kommer att göra en anslutning vid port 5000.

connection2.js

// Importera mysql -modulen
varmysql=behöva('mysql');

// Importera expressmodul
varuttrycka=behöva('uttrycka');

// Definiera objekt för expressmodul
varapp=uttrycka();

// Gör databasanslutning för att hantera 10 samtidiga användare
varslå samman=mysql.createPool({
connectionLimit:10,
värd: 'lokal värd',
användare: 'rot',
Lösenord: '1234',
databas: 'mydb',
felsöka: Sann
});

/* Gör en sammankopplad anslutning till en databas och läs specifika poster från en tabell över det
databas */

fungerahandle_database(begäran,svar) {

// Anslut
slå samman.getConnection(fungera(Och,förbindelse){
om (Och) {

// Skicka felmeddelande för misslyckad anslutning och avsluta
svar.json({'koda' : 300, 'status' : 'Fel i databasanslutning'});
lämna tillbaka;
}

// Visa framgångsmeddelande i terminalen
trösta.logga('Databas ansluten');

// Läs särskilda poster från bokbordet
förbindelse.fråga('VÄLJ * från bok där titeln gillar'%PHP%'eller titel gillar
'%Laravel%' '
,fungera(Och,rader){förbindelse.släpp();
om(!Och) {

// Returnera resultatuppsättningen för frågan om den har körts
svar.json(rader);
}
});

// Kontrollera att anslutningsfelet uppstår eller inte
förbindelse.('fel', fungera(Och) {
svar.json({'koda' : 300, 'status' : 'Fel i databasanslutning'});
lämna tillbaka;
});
});
}

// Ring funktionen för att göra anslutningar
app.skaffa sig('/',fungera(begäran,svar){-
handle_database(begäran,svar);
});

// Lyssna på anslutningsbegäran på port 5000
app.lyssna(5000);

Produktion:

Kör skriptet från terminalen som föregående exempel. Det väntar på anslutningsbegäran efter att manuset har körts.

$nodanslutning2.js

Öppna nu vilken webbläsare som helst och gå till följande URL för att skicka en begäran om anslutning.

http: // lokal värd: 5000

Följande utdata visas som ett svar efter att frågan har körts.

Om du öppnar terminalen nu ser du följande utdata.

Tio anslutningsförfrågningar kan skickas åt gången från 10 webbläsare på det sätt som nämns ovan.

Slutsats:

De enklaste sätten att arbeta med MySQL och NodeJS visas med två exempel i denna handledning. Om du är en ny nodutvecklare och vill arbeta med MySQL -databas hoppas jag att du kommer att kunna utföra din uppgift efter att ha läst den här självstudien.