Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk menggunakan mysql dalam nodejs

Bagaimana untuk menggunakan mysql dalam nodejs

王林
王林asal
2023-05-14 10:25:37606semak imbas

Node.js ialah persekitaran masa jalan JavaScript sebelah pelayan yang sangat popular yang boleh digunakan untuk membina aplikasi web dan API berprestasi tinggi. Berbanding dengan bahasa pengaturcaraan sebelah pelayan yang lain, Node.js menyediakan platform pembangunan yang berkuasa dan fleksibel yang boleh mengintegrasikan pelbagai perpustakaan dan modul pihak ketiga dengan mudah, termasuk pangkalan data MySQL. Dalam artikel ini, kami akan meneroka cara menyambung dan mengendalikan pangkalan data MySQL menggunakan Node.js.

MySQL ialah sistem pengurusan pangkalan data hubungan yang popular. Dalam Node.js, pelbagai modul boleh digunakan untuk menyambung dan mengendalikan pangkalan data MySQL. Di sini, kami akan menggunakan modul mysql Node.js untuk mencapai ini.

Sebelum anda bermula, pastikan anda telah memasang Node.js dan pangkalan data MySQL dan anda telah mencipta pangkalan data dan jadual. Dalam artikel ini, kami akan menggunakan pangkalan data bernama "ujian" dan jadual bernama "pengguna". Jadual ini mempunyai tiga medan: id (bertambah), nama dan e-mel. Berikut ialah arahan SQL untuk mencipta jadual:

CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR (50) NOT NULL
);

Pasang modul mysql

Sebelum menggunakan modul mysql, anda perlu memasangnya terlebih dahulu. Anda boleh memasang modul mysql menggunakan npm (pengurus pakej Node.js). Buka tetingkap terminal dan jalankan arahan berikut:

npm install mysql

Sambung ke pangkalan data MySQL

Berikut ialah kod asas tentang cara menyambung ke pangkalan data MySQL:

const mysql = require('mysql');

const connection = mysql.createConnection({
hos: 'localhost',
pengguna: 'root',
kata laluan : 'root ',
pangkalan data: 'test'
});

connection.connect((err) => {
if (err) throw err;
console .log( 'Bersambung!');
});

Dalam contoh ini, kita mula-mula mengimport modul mysql, dan kemudian menggunakan fungsi mysql.createConnection() untuk mencipta objek sambungan. Untuk melakukan ini, kita perlu memasukkan beberapa parameter sambungan, termasuk nama hos, nama pengguna, kata laluan dan nama pangkalan data.

Selepas mencipta objek sambungan, kita boleh menggunakan kaedah connection.connect() untuk menyambung ke pangkalan data MySQL. Jika sambungan berjaya, ia akan mengeluarkan mesej "Disambungkan!" Jika sambungan gagal, ralat akan dilemparkan.

Pertanyaan pangkalan data MySQL

Selepas menyambung ke pangkalan data MySQL, kami boleh melakukan pelbagai pertanyaan dan operasi. Berikut ialah kod asas bagaimana untuk menanyakan data dalam jadual:

const mysql = require('mysql');

const connection = mysql.createConnection({
hos: 'localhost' ,
pengguna: 'root',
kata laluan: 'root',
pangkalan data: 'test'
});

connection.connect((err) = > {
if (err) throw err;
console.log('Connected!');

connection.query('SELECT * FROM users', (error, results, fields) => {

if (error) throw error;
console.log(results);

});
});

Dalam contoh ini, kami menggunakan kaedah connection.query() untuk melaksanakan pernyataan pertanyaan SQL. Dalam contoh ini, kami menanyakan semua data dalam jadual pengguna dan mencetak hasilnya ke konsol. Hasil pertanyaan akan dikembalikan dalam bentuk tatasusunan. Setiap baris ialah objek yang mengandungi nilai setiap medan. Sebagai contoh, untuk contoh kami, setiap objek akan mempunyai sifat id, nama dan e-mel.

Masukkan data ke dalam pangkalan data MySQL

Berikut ialah kod asas tentang cara memasukkan data ke dalam jadual:

const mysql = require('mysql');

sambungan const = mysql.createConnection({
hos: 'localhost',
pengguna: 'root',
kata laluan: 'root',
pangkalan data: 'test'
} ) ;

connection.connect((err) => {
if (err) throw err;
console.log('Connected!');

const sql = "MASUKKAN KE DALAM pengguna (nama, e-mel) NILAI ('John Doe', 'johndoe@gmail.com')";
connection.query(sql, (ralat, hasil) => {

if (error) throw error;
console.log("1 record inserted");

});
});

Dalam contoh ini, kami menggunakan pernyataan SQL INSERT untuk memasukkan rekod baharu ke dalam jadual pengguna. Dalam kaedah connection.query(), kami memberikannya pernyataan SQL sebagai parameter pertama, dan kemudian kami menggunakan fungsi panggil balik untuk mengendalikan respons.

Kemas kini pangkalan data MySQL

Berikut ialah kod asas cara mengemas kini data dalam jadual:

const mysql = require('mysql');

sambungan const = mysql.createConnection({
hos: 'localhost',
pengguna: 'root',
kata laluan: 'root',
pangkalan data: 'test'
}) ;

connection.connect((err) => {
if (err) throw err;
console.log('Connected!');

const sql = "KEMASKINI pengguna SET e-mel='john.doe@gmail.com' WHERE name='John Doe'";
connection.query(sql, (ralat, hasil) => {

if (error) throw error;
console.log(result.affectedRows + " record(s) updated");

} );
});

Dalam contoh ini, kami menggunakan pernyataan SQL UPDATE untuk mengemas kini data dalam jadual pengguna. Kami menggunakan klausa WHERE untuk menentukan baris yang akan dikemas kini. Dalam fungsi panggil balik kaedah connection.query(), kami mengeluarkan bilangan baris yang terjejas.

Padam data daripada pangkalan data MySQL

Berikut ialah kod asas tentang cara memadam data daripada jadual:

const mysql = require('mysql');

sambungan const = mysql.createConnection({
hos: 'localhost',
pengguna: 'root',
kata laluan: 'root',
pangkalan data: 'test'
} ) ;

connection.connect((err) => {
if (err) throw err;
console.log('Connected!');

const sql = "DELETE FROM users WHERE name='John Doe'";
connection.query(sql, (error, result) => {

if (error) throw error;
console.log(result.affectedRows + " record(s) deleted");

});
});

在这个例子中,我们使用SQL DELETE语句从users表中删除数据。我们使用WHERE子句来指定要删除的行。在connection.query()方法的回调函数中,我们输出受影响的行数。

总结

在本文中,我们介绍了如何使用Node.js连接和操作MySQL数据库。我们使用Node.js的mysql模块来连接到数据库,执行各种查询和操作。使用这些知识,您可以创建强大和高效的Web应用程序和API,以及进行其他有关MySQL数据库的编程任务。

Atas ialah kandungan terperinci Bagaimana untuk menggunakan mysql dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:nodejs menetapkan penghalaanArtikel seterusnya:nodejs menetapkan penghalaan