Rumah >hujung hadapan web >tutorial js >Menggunakan mysql dengan node.js dan pelanggan mysql javascript
-a node.js klien untuk MySQL -untuk menyambung ke pangkalan data MySQL dan melakukan operasi CRUD, menggunakan prosedur yang disimpan, dan mencegah kelemahan suntikan SQL. Artikel ini dikemas kini pada tahun 2020 untuk mencerminkan amalan terbaik semasa. Untuk menyelam yang lebih mendalam ke MySQL, lihat mysql
Jump Mula MySQL .
Konsep Utama:
mysql
mysql
mysql.createConnection
con.query
con.query
mysql.escape
Permulaan cepat:
Sambung ke MySQL dalam node.js dengan lima langkah ini:
mkdir mysql-test && cd mysql-test
package.json
. npm init -y
mysql
. npm install mysql
app.js
<code class="language-javascript">const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'user', password: 'password', database: 'database name' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); });</code>
node app.js
: mysql
Perintah
, mkdir mysql-test
, dan cd mysql-test
Buat direktori projek, memulakan projek, dan pasang modul yang diperlukan. Ini menganggap Node.js dan NPM sudah dipasang. Rujuk artikel SitePoint "Pasang pelbagai versi Node.js menggunakan NVM" jika diperlukan. npm init -y
npm install mysql
Sebelum menyambung, pastikan MySQL dipasang dan dikonfigurasi. Buat pangkalan data (mis.,
) dan jadual (mis.,). Perintah SQL berikut boleh digunakan: sitepoint
authors
<code class="language-sql">CREATE DATABASE sitepoint CHARACTER SET utf8 COLLATE utf8_general_ci; USE sitepoint; CREATE TABLE authors ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(50), city varchar(50), PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO authors (id, name, city) VALUES (1, 'Michaela Lehr', 'Berlin'), (2, 'Michael Wanyoike', 'Nairobi'), (3, 'James Hibbard', 'Munich'), (4, 'Karolina Gawron', 'Wrocław');</code>
menyambung ke pangkalan data:
: app.js
<code class="language-javascript">const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'user', password: 'password', database: 'database name' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); });</code>run
(atau gunakan node app.js
untuk dimulakan semula automatik selepas perubahan fail). nodemon
Melaksanakan pertanyaan:
con.query('SELECT * FROM authors', (err,rows) => { ... });
con.query('INSERT INTO authors SET ?', author, (err, res) => { ... });
con.query('UPDATE authors SET city = ? Where ID = ?', ['Leipzig', 3], (err, result) => { ... });
con.query('DELETE FROM authors WHERE id = ?', [5], (err, result) => { ... });
Penggunaan lanjutan:
sp_get_authors
con.query('CALL sp_get_authors()',function(err, rows){...});
mysql.escape()
orms:
Kesimpulan:
Tutorial ini menyediakan asas untuk menggunakan modul dengan node.js. Terokai dokumentasi rasmi untuk ciri -ciri yang lebih canggih. Alternatif seperti
juga boleh didapati.
mysql
node-mysql2
FAQs:
Atas ialah kandungan terperinci Menggunakan mysql dengan node.js dan pelanggan mysql javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!