Povezivanje MySQL -a s NodeJS -om

Connecting Mysql With Nodejs



MySQL poslužitelj vrlo je popularan poslužitelj baza podataka i podržavaju ga većinom korišteni programski jezici, poput PHP, Python, Perl, Java, C#itd. To je aplikacija otvorenog koda pa svatko može preuzeti ovu aplikaciju za pohranu, preuzimanje , ažuriranje i brisanje podataka pomoću upita baze podataka. Za izvođenje različitih vrsta operacija baze podataka na poslužitelju baze podataka trebat ćete instalirati poslužiteljske i klijentske pakete. MySQL poslužitelj sada postaje popularan i za programere Node. Programeri čvorova počinju koristiti MySQL poslužitelj s MongoDB -om za neke posebne značajke MySQL poslužitelja. Kako možete uspostaviti vezu s MySQL poslužiteljem pomoću klijenta node-mysql prikazano je u ovom vodiču.

Preduvjet:

Prije početka ovog vodiča morate potvrditi da su MySQL poslužiteljski i klijentski paketi instalirani i ispravno rade u vašem sustavu. Ako prvi put instalirate MySQL poslužitelj, lozinka root korisnika je prema zadanim postavkama prazna. Ali morate postaviti lozinku za root korisnika da bi se povezao s MySQL poslužiteljem koristeći čvor-mysql klijent. Ovo možete provjeriti udžbenik znati kako promijeniti root lozinku MySQL poslužitelja.







Pokrenite sljedeće naredbe za rad kao root korisnik i povežite se s MySQL poslužiteljem pomoću MySQL klijenta.



$sudo -i
$ mysql-ukorijen-str

Unesite root lozinku i pokrenite sljedeće SQL naredbe za stvaranje nove baze podataka, stvaranje tablice u toj bazi podataka i umetanje nekih zapisa u tu tablicu.



Sljedeća naredba će stvoriti bazu podataka s imenom mydb .





STVORITI BAZA PODATAKA mydb;

Sljedeća naredba za odabir baze podataka za izvođenje operacija baze podataka.

koristiti mydb;

Sljedeća naredba će stvoriti tablicu s imenom knjiga u bazi podataka mydb.



STVORITI STOL knjiga(
iskaznica INT (6) NEPOTPISAN AUTO_INCREMENT GLAVNI KLJUČ ,
titula VARCHAR (pedeset) NE NULL ,
Autor VARCHAR (pedeset) NE NULL ,
cijena int (5));

Sljedeća naredba umetnut će četiri zapisa u knjiga stol.

UMETNUTI U knjiga vrijednosti
( NULL ,'Učenje PHP -a i MySQL -a', 'Robin Nixon', Četiri pet),
( NULL ,'Učenje JQueryja', 'Jonathan', 35),
( NULL ,'Kutni na djelu', 'Jeremy', pedeset),
( NULL ,'Mastering Laravel', 'Christopher', 55);

Instalirajte mysql klijent za nodejs:

Pokrenite sljedeću naredbu za provjeru nodejs je instaliran u sustavu prije izvođenja naredbe instaliranja mysql klijenta nodejsa. Pokazat će instaliranu verziju nodejsa.

$čvor-v

Ako nije instaliran, morate ga instalirati pokretanjem sljedeće naredbe.

$sudo apt-get installnodejs

Trebat će vam drugi paket pod nazivom iznad razine mora biti instaliran u sustav za instalaciju mysql klijenta za nodejs. Ako nije instaliran prije, pokrenite sljedeću naredbu za instalaciju iznad razine mora .

$sudo apt-get installiznad razine mora

Sada pokrenite sljedeću naredbu za ažuriranje sustava.

$sudo apt-get ažuriranje

Sljedeća naredba će se instalirati mysql modul za nodejs koji će raditi kao mysql klijent.

$iznad razine morainstaliratimysql

Jednostavna MySQL veza pomoću NodeJS -a:

Napravite JS datoteku pod nazivom connection1.js pomoću sljedeće skripte za uspostavljanje veze s prethodno stvorenom bazom podataka pod nazivom mydb i čitati podatke iz knjiga stol. mysql Modul je uvezen i koristi se za stvaranje jednostavne veze s MySQL poslužiteljem. Zatim će se izvršiti upit za čitanje svih zapisa iz knjiga tablicu, ako je baza podataka pravilno povezana. Ako je upit ispravno izveden, svi zapisi o knjiga tablica će se ispisati u terminalu, a veza s bazom podataka bit će zatvorena.

connection1.js

// Uvoz mysql modula
neka mysql=zahtijevaju('mysql');

// Postavljanje parametra povezivanja baze podataka
neka veza=mysql.createConnection({
domaćin: 'localhost',
korisnik: 'korijen',
lozinka: '1234',
baza podataka: 'mydb'
});

// Povežite se s bazom podataka
veza.Spojiti(funkcija(I) {
ako (I) {

// Prikaz poruke o pogrešci pri neuspjehu
povratakkonzola.pogreška('greška:' +I.poruka);
}

// Pokaži poruku uspjeha ako je povezan
konzola.zapisnik(' nSpojen na MySQL poslužitelj ... n');
});

// Postavljanje poruke upita
$ upit= 'SELECT * iz knjige';

// Izvršavanje upita baze podataka
veza.upit($ upit, funkcija(I,redove) {
ako(I){

// Pokaži poruku o pogrešci
konzola.zapisnik('Došlo je do pogreške pri izvršavanju upita.');
povratak;
}
/* Prikažite formatirane podatke dohvaćene iz tablice 'knjiga'
pomoću for loop */

konzola.zapisnik('Zapisi knjižnog stola: n');
konzola.zapisnik('Titula t t t tAutor t tcijena n');
za(neka red redova) {
konzola.zapisnik(red['titula'],' t t',red['Autor'],' t','$',red['cijena']);
}
});

// Zatvorite vezu s bazom podataka
veza.kraj(funkcija(){
konzola.zapisnik(' nVeza zatvorena. n');
});

Izlaz:

Pokrenite sljedeću naredbu za izvršavanje skripte.

$veza s čvorom1.js

Sljedeći izlaz pojavit će se nakon pokretanja skripte.

Skupna MySQL veza pomoću NodeJS -a:

Uspostavljanje jednostavne MySQL veze s NodeJS -om pomoću mysql modul prikazan je u prethodnom primjeru. No, mnogi se korisnici mogu povezati s poslužiteljem baze podataka odjednom putem aplikacije kada se aplikacija stvara pomoću MySQL baza podataka za potrebe proizvodnje. Trebat ćete izraziti modul za rukovanje istodobnim korisnicima baze podataka i podršku za više povezivanja baze podataka.

Pokrenite sljedeću naredbu da biste instalirali izraziti modul.

$iznad razine morainstaliratiizraziti

Napravite JS datoteku pod nazivom connection2.js sa sljedećom skriptom. Ako se povežete s MySQL -om sa sljedećom skriptom, 10 istodobnih korisnika moći će uspostaviti vezu sa poslužiteljem baze podataka i dohvatiti podatke iz tablice na temelju upita. Uspostavit će vezu na priključku 5000.

connection2.js

// Uvoz mysql modula
gdjemysql=zahtijevaju('mysql');

// Uvoz ekspresnog modula
gdjeizraziti=zahtijevaju('izraziti');

// Definiranje objekta ekspresnog modula
gdjeapp=izraziti();

// Uspostavite vezu s bazom podataka za rukovanje 10 istodobnih korisnika
gdjebazen=mysql.createPool({
connectionLimit:10,
domaćin: 'localhost',
korisnik: 'korijen',
lozinka: '1234',
baza podataka: 'mydb',
otklanjanje pogrešaka: pravi
});

/* Uspostavite združenu vezu s bazom podataka i pročitajte određene zapise iz te tablice
baza podataka */

funkcijahandle_database(zahtjev,odgovor) {

// Uspostavite vezu
bazen.getConnection(funkcija(I,veza){
ako (I) {

// Slanje poruke o pogrešci za neuspješnu vezu i prekid
odgovor.json({'kodirati' : 300, 'status' : 'Pogreška povezivanja baze podataka'});
povratak;
}

// Prikaz poruke uspjeha na terminalu
konzola.zapisnik('Baza podataka povezana');

// Čitanje pojedinih zapisa s tablice knjiga
veza.upit('SELECT * iz knjige u kojoj je naslov poput'%PHP%'ili naslov poput
'%Laravel%' '
,funkcija(I,redove){veza.puštanje();
ako(!I) {

// Vraća skup rezultata upita ako je uspješno izveden
odgovor.json(redove);
}
});

// Provjerite je li došlo do greške u vezi
veza.na('greška', funkcija(I) {
odgovor.json({'kodirati' : 300, 'status' : 'Pogreška povezivanja baze podataka'});
povratak;
});
});
}

// Poziv funkcije za uspostavljanje veze
app.dobiti('/',funkcija(zahtjev,odgovor){-
handle_database(zahtjev,odgovor);
});

// Slušajte zahtjev za povezivanje na priključku 5000
app.slušati(5000);

Izlaz:

Pokrenite skriptu s terminala kao u prethodnom primjeru. Čekat će zahtjev za povezivanje nakon pokretanja skripte.

$veza s čvorom2.js

Sada otvorite bilo koji preglednik i idite na sljedeći URL da biste poslali zahtjev za povezivanje.

http: // localhost: 5000

Sljedeći izlaz pojavit će se kao odgovor nakon izvršavanja upita.

Ako sada otvorite terminal, vidjet ćete sljedeći izlaz.

Deset zahtjeva za povezivanje može se poslati odjednom iz 10 preglednika na gore spomenuti način.

Zaključak:

Najjednostavniji načini rada s MySQL -om i NodeJS -om prikazani su s dva primjera u ovom vodiču. Ako ste novi programer Nodea i želite raditi s MySQL bazom podataka, nadam se da ćete uspjeti obaviti svoj zadatak nakon čitanja ovog vodiča.