NodeJS

Menghubungkan MySQL dengan NodeJS

Menghubungkan MySQL dengan NodeJS
Pelayan MySQL adalah pelayan pangkalan data yang sangat popular dan disokong oleh bahasa pengaturcaraan yang paling banyak digunakan, seperti PHP, Python, Perl, Java, C #, dll. Ini adalah aplikasi sumber terbuka, jadi siapa saja dapat mengunduh aplikasi ini untuk menyimpan, mengambil, mengemas kini dan menghapus data dengan menggunakan pertanyaan pangkalan data. Anda memerlukan pakej pelayan dan klien dipasang di sistem anda untuk melakukan pelbagai jenis operasi pangkalan data di pelayan pangkalan data. Pelayan MySQL kini menjadi popular untuk pembangun Node juga. Pembangun simpul mula menggunakan pelayan MySQL dengan MongoDB untuk beberapa ciri khas pelayan MySQL. Bagaimana anda boleh membuat sambungan dengan pelayan MySQL menggunakan klien node-mysql ditunjukkan dalam tutorial ini.

Prasyarat:

Sebelum memulakan tutorial ini, anda harus mengesahkan bahawa pakej pelayan dan klien MySQL dipasang dan berfungsi dengan betul di sistem anda. Sekiranya anda memasang pelayan MySQL untuk pertama kalinya, kata laluan pengguna root kosong secara lalai. Tetapi anda harus menetapkan kata laluan untuk pengguna root untuk membuat sambungan dengan pelayan MySQL menggunakan simpul-mysql pelanggan. Anda boleh menyemak tutorial ini untuk mengetahui cara menukar kata laluan root pelayan MySQL.

Jalankan arahan berikut untuk berfungsi sebagai pengguna root dan berhubung dengan pelayan MySQL dengan menggunakan klien MySQL.

$ sudo -i
$ mysql -u root -p

Masukkan kata laluan root dan jalankan perintah SQL berikut untuk membuat pangkalan data baru, buat jadual pada pangkalan data itu dan masukkan beberapa rekod dalam jadual itu.

Perintah berikut akan membuat pangkalan data yang dinamakan mydb.

BUAT DATABASE mydb;

Perintah berikut untuk memilih pangkalan data untuk melakukan operasi pangkalan data.

gunakan mydb;

Perintah berikut akan membuat jadual bernama buku dalam pangkalan data mydb.

BUAT JADUAL buku (
id INT,
tajuk VARCHAR (50) BUKAN NULL,
pengarang VARCHAR (50) BUKAN NULL,
harga int (5));

Perintah berikut akan memasukkan empat rekod ke dalam buku meja.

INSERT INTO nilai buku
(NULL, 'Belajar PHP dan MySQL', 'Robin Nixon', 45),
(NULL, 'Learning JQuery', 'Jonathan', 35),
(NULL, 'Angular in Action', 'Jeremy', 50),
(NULL, 'Menguasai Laravel', 'Christopher', 55);

Pasang klien mysql untuk nodejs:

Jalankan arahan berikut untuk memeriksa nodejs dipasang dalam sistem sebelum menjalankan perintah memasang klien mysql nodejs. Ia akan menunjukkan versi nodej yang dipasang.

$ simpul -v

Sekiranya tidak dipasang maka anda harus memasangnya dengan menjalankan perintah berikut.

$ sudo apt-get install nodejs

Anda memerlukan pakej lain yang dinamakan npm untuk dipasang dalam sistem untuk memasang klien mysql untuk nodejs. Sekiranya tidak dipasang sebelum jalankan arahan berikut untuk memasang npm.

$ sudo apt-get install npm

Sekarang, jalankan arahan berikut untuk mengemas kini sistem.

$ sudo apt-get kemas kini

Perintah berikut akan dipasang mysql modul untuk nodejs yang akan berfungsi sebagai pelanggan mysql.

$ npm pasang mysql

Sambungan MySQL ringkas menggunakan NodeJS:

Buat fail JS bernama sambungan1.js dengan skrip berikut untuk membuat sambungan dengan pangkalan data yang dibuat sebelumnya bernama mydb dan membaca data dari buku meja. mysql modul diimport dan digunakan untuk membuat sambungan mudah dengan pelayan MySQL. Seterusnya, pertanyaan akan dijalankan untuk membaca semua rekod dari buku jadual, jika pangkalan data disambungkan dengan betul. Sekiranya pertanyaan dijalankan dengan betul maka semua rekod buku jadual akan dicetak di terminal dan sambungan pangkalan data akan ditutup.

sambungan1.js

// Import modul mysql
biarkan mysql = memerlukan ('mysql');
// Tetapkan parameter sambungan pangkalan data
biarkan sambungan = mysql.createConnection (
hos: 'localhost',
pengguna: 'root',
kata laluan: '1234',
pangkalan data: 'mydb'
);
// Sambung dengan pangkalan data
sambungan.sambung (fungsi (e)
sekiranya (e)
// Tunjukkan mesej ralat pada kegagalan
kembali konsol.ralat ('error:' + e.mesej);

// Tunjukkan mesej kejayaan jika disambungkan
konsol.log ('\ nSambungan ke pelayan MySQL ... \ n');
);
// Tetapkan mesej pertanyaan
$ query = 'PILIH * dari buku';
// Laksanakan pertanyaan pangkalan data
sambungan.pertanyaan ($ query, function (e, baris)
sekiranya (e)
// Tunjukkan mesej ralat
konsol.log ("Kesalahan berlaku semasa menjalankan pertanyaan.");
kembali;

/ * Paparkan data berformat yang diambil dari jadual 'buku'
menggunakan gelung * /
konsol.log ("Rekod jadual buku: \ n");
konsol.log ("Tajuk \ t \ t \ t \ t Pengarang \ t \ tprice \ n");
untuk (biarkan barisan baris)
konsol.log (baris ['title'], "\ t \ t", baris ['author'], "\ t", "$", baris ['harga']);

);
// Tutup sambungan pangkalan data
sambungan.akhir (fungsi ()
konsol.log ('\ nSambungan ditutup.\ n ');
);

Pengeluaran:

Jalankan arahan berikut untuk melaksanakan skrip.

$ simpulan sambungan1.js

Output berikut akan muncul setelah menjalankan skrip.

Sambungan MySQL yang dikumpulkan menggunakan NodeJS:

Membuat sambungan MySQL yang mudah dengan menggunakan NodeJS mysql modul ditunjukkan dalam contoh sebelumnya. Tetapi banyak pengguna dapat terhubung dengan pelayan pangkalan data sekaligus melalui aplikasi ketika aplikasi dibuat dengan MySQL pangkalan data untuk tujuan pengeluaran. Anda akan memerlukan menyatakan modul untuk menangani pengguna pangkalan data serentak dan menyokong pelbagai sambungan pangkalan data.

Jalankan arahan berikut untuk memasang menyatakan modul.

$ npm pasang ekspres

Buat fail JS bernama sambungan2.js dengan skrip berikut. Sekiranya anda berhubung dengan MySQL dengan skrip berikut, 10 pengguna serentak akan dapat membuat sambungan dengan pelayan pangkalan data dan mengambil data dari jadual berdasarkan pertanyaan. Ia akan membuat sambungan di port 5000.

sambungan2.js

// Import modul mysql
var mysql = memerlukan ('mysql');
// Import modul ekspres
var express = memerlukan ("express");
// Tentukan objek modul ekspres
aplikasi var = express ();
// Buat sambungan pangkalan data untuk menangani 10 pengguna serentak
var pool = mysql.createPool (
sambungan Had: 10,
hos: 'localhost',
pengguna: 'root',
kata laluan: '1234',
pangkalan data: 'mydb',
debug: benar
);
/ * Buat hubungan yang disatukan dengan pangkalan data dan baca catatan khusus dari jadualnya
pangkalan data */
fungsi handle_database (permintaan, respons)
// Buat sambungan
kolam.getConnection (fungsi (e, sambungan)
sekiranya (e)
// Hantar mesej ralat kerana sambungan yang tidak berjaya dan tamatkan
tindak balas.json ("code": 300, "status": "Ralat sambungan pangkalan data");
kembali;

// Paparkan mesej kejayaan di terminal
konsol.log ('Pangkalan data disambungkan');
// Baca rekod tertentu dari jadual buku
sambungan.pertanyaan ("PILIH * dari buku yang tajuknya seperti '% PHP%' atau tajuk seperti
'% Laravel%' ", fungsi (e, baris) sambungan.pelepasan ();
sekiranya (!e)
// Kembalikan hasil carian pertanyaan jika berjaya dilaksanakan
tindak balas.json (baris);

);
// Periksa ralat sambungan berlaku atau tidak
sambungan.hidup ('ralat', fungsi (e)
tindak balas.json ("code": 300, "status": "Ralat sambungan pangkalan data");
kembali;
);
);

// Panggil fungsi untuk membuat sambungan
aplikasi.dapatkan ("/", fungsi (permintaan, respons) -
handle_database (permintaan, tindak balas);
);
// Dengarkan permintaan sambungan di port 5000
aplikasi.dengar (5000);

Pengeluaran:

Jalankan skrip dari terminal seperti contoh sebelumnya. Ia akan menunggu permintaan sambungan setelah menjalankan skrip.

$ simpul sambungan2.js

Sekarang, buka penyemak imbas mana pun dan pergi ke URL berikut untuk menghantar permintaan sambungan.

http: // localhost: 5000

Output berikut akan muncul sebagai tindak balas setelah menjalankan pertanyaan.

Sekiranya anda membuka terminal sekarang, anda akan melihat output berikut.

Sepuluh permintaan sambungan dapat dihantar sekaligus dari 10 penyemak imbas dengan cara yang disebutkan di atas.

Kesimpulan:

Kaedah paling mudah untuk bekerja dengan MySQL dan NodeJS ditunjukkan oleh dua contoh dalam tutorial ini. Sekiranya anda seorang pembangun Node baru dan ingin bekerja dengan pangkalan data MySQL, saya harap anda dapat melaksanakan tugas anda setelah membaca tutorial ini.

Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...
Permainan Makmal Apl Oculus Teratas
Sekiranya anda adalah pemilik alat dengar Oculus, maka anda mesti mengetahui tentang memuatkan sideload. Sideloading adalah proses memasang kandungan ...