NodeJS

Ansluter MySQL med NodeJS

Ansluter MySQL med NodeJS
MySQL-servern är en mycket populär databasserver och den stöds av mest använda programmeringsspråk, som PHP, Python, Perl, Java, C #, etc. Det är ett program med öppen källkod, så vem som helst kan ladda ner det här programmet för att lagra, hämta, uppdatera och radera data med hjälp av databasfrågor. Du kommer att kräva att server- och klientpaket installeras i ditt system för att utföra olika typer av databasåtgärder i databasservern. MySQL-servern blir nu populär även för Node-utvecklare. Nodutvecklare börjar använda MySQL-servern med MongoDB för vissa specialfunktioner på MySQL-servern. Hur du kan ansluta till MySQL-servern med hjälp av node-mysql-klienten visas i denna handledning.

Nödvändig förutsättning:

Innan du börjar denna handledning 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 root-användarens lösenord tomt som standard. Men du måste ställa in lösenordet för rotanvändaren för att skapa en anslutning till MySQL-servern med hjälp av node-mysql klient. Du kan läsa den här guiden för att veta hur du ändrar root-lösenordet för MySQL-servern.

Kör följande kommandon för att fungera som rotanvändare och ansluta till MySQL-servern med hjälp av MySQL-klienten.

$ sudo -i
$ mysql -u root -p

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

Följande kommando skapar en databas med namnet mydb.

SKAPA DATABAS mydb;

Följande kommando för att välja databas för databasåtgärder.

använd mydb;

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

SKAPA TABELLbok (
id INT (6) UNSIGNED AUTO_INCREMENT PRIMÄR KEY,
titel VARCHAR (50) INTE NULL,
författare VARCHAR (50) INTE NULL,
pris int (5));

Följande kommando infogar fyra poster i bok tabell.

INSÄTTA I bokförda värden
(NULL, 'Learning PHP and MySQL', 'Robin Nixon', 45),
(NULL, 'Learning JQuery', 'Jonathan', 35),
(NULL, 'Angular in Action', 'Jeremy', 50),
(NULL, 'Mastering Laravel', 'Christopher', 55);

Installera mysql-klienten för nodejs:

Kör följande kommando för att kontrollera nodjs installeras i systemet innan kommandot för installation av mysql-klienten för nodejs körs. Den visar den installerade versionen av nodejs.

$ node -v

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

$ sudo apt-get install nodejs

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

$ sudo apt-get install npm

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.

$ npm installera mysql

Enkel MySQL-anslutning med NodeJS:

Skapa en JS-fil med namnet anslutning1.js med följande skript för att skapa en anslutning med den tidigare skapade databasen med namnet mydb och läsa 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 om databasen är korrekt ansluten. Om frågan körs ordentligt kommer alla poster av bok tabellen skrivs ut i terminalen och databasanslutningen stängs.

anslutning1.js

// Importera mysql-modulen
låt mysql = kräver ('mysql');
// Konfigurera databasanslutningsparameter
låt anslutning = mysql.createConnection (
värd: 'localhost',
användare: 'root',
lösenord: '1234',
databas: 'mydb'
);
// Anslut till databasen
förbindelse.anslut (funktion (e)
om (e)
// Visa felmeddelande vid fel
returkonsol.error ('error:' + e.meddelande);

// Visa framgångsmeddelande om du är ansluten
trösta.log ('\ nConnected to MySQL server ... \ n');
);
// Ställ in frågemeddelandet
$ query = 'VÄLJ * från bok';
// Utför databasfrågan
förbindelse.fråga ($ fråga, funktion (e, rader)
om (e)
// Visa felmeddelandet
trösta.log ("Fel uppstod vid körning av frågan.");
lämna tillbaka;

/ * Visa formaterad data hämtad från "bok" -tabellen
använder för loop * /
trösta.log ("Posterna i boktabellen: \ n");
trösta.log ("Titel \ t \ t \ t \ t Författare \ t \ tpris \ n");
för (låt rad av rader)
trösta.logg (rad ['titel'], "\ t \ t", rad ['författare'], "\ t", "$", rad ['pris']);

);
// Stäng databasanslutningen
förbindelse.slut (funktion ()
trösta.log ('\ nFörbindelsen stängd.\ n ');
);

Produktion:

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

$ nodanslutning1.js

Följande utdata visas efter körning av skriptet.

Poolad MySQL-anslutning med NodeJS:

Gör en enkel MySQL-anslutning med NodeJS med hjälp av mysql modulen visas i föregående exempel. Men många användare kan ansluta till databasservern åt gången genom applikationen när applikationen skapas med MySQL databas för produktionsändamål. Du kommer att behö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.

$ npm installera express

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

anslutning2.js

// Importera mysql-modulen
var mysql = kräver ('mysql');
// Importera expressmodul
var express = kräver ("express");
// Definiera objektet för expressmodulen
var app = express ();
// Skapa databasanslutning för att hantera tio samtidiga användare
var pool = mysql.createPool (
connectionLimit: 10,
värd: 'localhost',
användare: 'root',
lösenord: '1234',
databas: 'mydb',
felsöka: sant
);
/ * Skapa en sammankoppling med en databas och läs specifika poster från en tabell över den
databas * /
funktion handle_database (begäran, svar)
// Gör anslutning
slå samman.getConnection (funktion (e, anslutning)
om (e)
// Skicka felmeddelande för misslyckad anslutning och avsluta
svar.json ("code": 300, "status": "Databasanslutningsfel");
lämna tillbaka;

// Visa framgångsmeddelande i terminalen
trösta.logg ('Databas ansluten');
// Läs särskilda poster från boktabellen
förbindelse.fråga ("VÄLJ * från bok där titel som"% PHP% "eller titel som
'% Laravel%' ", funktion (e, rader) anslutning.släpp();
om(!e)
// Returnera resultatuppsättningen för frågan om den har lyckats
svar.json (rader);

);
// Kontrollera att anslutningsfelet inträffar eller inte
förbindelse.på ('fel', funktion (e)
svar.json ("code": 300, "status": "Databasanslutningsfel");
lämna tillbaka;
);
);

// Ring funktionen för anslutningar
app.get ("/", funktion (begäran, svar) -
handle_database (begäran, svar);
);
// Lyssna på anslutningsförfrågan på port 5000
app.lyssna (5000);

Produktion:

Kör skriptet från terminalen som i föregående exempel. Det väntar på anslutningsförfrågan efter att skriptet har körts.

$ nodanslutning2.js

Öppna nu vilken webbläsare som helst och gå till följande URL för att skicka en anslutningsförfrågan.

http: // localhost: 5000

Följande utdata visas som ett svar efter frågan.

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 av två exempel i denna handledning. Om du är en ny Node-utvecklare och vill arbeta med MySQL-databas hoppas jag att du kommer att kunna göra din uppgift efter att ha läst denna handledning.

Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...
Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...