Artikel ini akan memperkenalkan cara menggunakan Node.js untuk membina pelayan pangkalan data. Node.js ialah alat pembangunan JavaScript sebelah pelayan berdasarkan enjin JavaScript Chrome, yang boleh melaksanakan pengaturcaraan dipacu peristiwa tak segerak dengan mudah. Apabila menggunakan Node.js untuk pembangunan pelayan, kami boleh menggunakan rangka kerja dan perpustakaan yang berbeza untuk dibangunkan, yang paling popular ialah Express.js, tetapi rangka kerja lain juga boleh mencapai fungsi yang sama. Untuk menjadikan pelayan kami lebih berskala dan boleh dipercayai, kami perlu memilih pangkalan data yang sesuai untuk kami menyimpan data. Artikel ini menunjukkan cara menggunakan pangkalan data MySQL untuk menyimpan data.
Sebelum kita mula, kita perlu memasang Node.js dan MySQL dalam sistem. Node.js boleh dimuat turun dari laman web rasmi (https://nodejs.org), dan MySQL juga boleh dimuat turun dari laman web rasmi (https://www.mysql.com/).
Pertama, kita perlu mencipta pangkalan data dan jadual data dalam MySQL untuk menyimpan data kita. Cipta pangkalan data bernama ujian menggunakan arahan berikut:
CREATE DATABASE test;
Seterusnya, buat jadual data bernama pengguna:
USE test; CREATE TABLE users ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, PRIMARY KEY (id), UNIQUE KEY email (email) );
Jadual ini mengandungi tiga lajur: id, nama dan e-mel. Lajur id ialah lajur autokenaikan yang memastikan setiap entri mempunyai ID unik. Nama dan lajur e-mel adalah medan yang diperlukan, jadi kami mentakrifkan NOT NULL kekangan dalam definisi jadual. Lajur e-mel juga mempunyai indeks kunci unik untuk memastikan setiap alamat e-mel muncul sekali sahaja.
Seterusnya, kita perlu memasang modul MySQL dalam Node.js. Kita boleh menggunakan arahan npm untuk memasang modul mysql:
npm install mysql
Menyambung ke MySQL dalam aplikasi memerlukan penggunaan modul mysql. Kami perlu menggunakan maklumat sambungan untuk membuat instantiate objek sambungan:
const mysql = require('mysql'); const connection = mysql.createConnection({ host : 'localhost', user : 'user', password : 'password', database : 'test' });
Dalam contoh ini, kami mentakrifkan maklumat sambungan pangkalan data. Jika pelayan MySQL anda adalah setempat, nama hosnya mestilah localhost. Ambil perhatian bahawa kata laluan digunakan dalam contoh ini, yang merupakan amalan tidak selamat. Dalam penggunaan sebenar, langkah yang lebih selamat perlu digunakan, seperti membaca kata laluan daripada pembolehubah persekitaran.
Kini, kami boleh menulis API untuk mencipta pengguna baharu, mendapatkan maklumat pengguna dan memadamkan pengguna. Kita perlu melaksanakan fungsi penghalaan melalui Express.js. Dalam contoh ini, kami menggunakan Express.js.
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); // 创建新用户 app.post('/users', (req, res) => { const user = req.body; connection.query('INSERT INTO users SET ?', user, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results); } }); }); // 获取用户信息 app.get('/users/:id', (req, res) => { const id = req.params.id; connection.query('SELECT * FROM users WHERE id = ?', id, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results[0]); } }); }); // 删除用户 app.delete('/users/:id', (req, res) => { const id = req.params.id; connection.query('DELETE FROM users WHERE id = ?', id, (err, results) => { if (err) { res.status(500).send(err); } else { res.status(200).send(results); } }); }); // 启动服务器 app.listen(3000, () => { console.log('Server started on port 3000'); });
Dalam kod di atas, kami menggunakan middleware penghurai badan untuk menghuraikan data JSON yang masuk. Ia juga menyokong penghuraian data .urlencoded. Kami mentakrifkan penghala sebagai operasi POST, GET dan DELETE yang akan mencipta pengguna baharu, mendapatkan maklumat pengguna dan memadamkan pengguna. Dalam setiap permintaan, kami menggunakan fungsi connection.query() untuk melaksanakan pertanyaan SQL dan mengembalikan hasilnya kepada klien. Jika pertanyaan gagal, ralat 500 dikembalikan.
Kini, kami boleh menguji API kami menggunakan arahan curl. Berikut ialah beberapa contoh arahan:
Cipta pengguna baharu:
curl -X POST -H 'Content-Type: application/json' -d '{"name": "Alice", "email": "alice@example.com"}' http://localhost:3000/users
Dapatkan maklumat pengguna:
curl http://localhost:3000/users/1
Padam pengguna:
curl -X DELETE http://localhost:3000/users/1
Kini, kami telah berjaya Mencipta pelayan pangkalan data ringkas menggunakan Node.js dan MySQL. Ia boleh dilanjutkan untuk menyokong lebih banyak operasi API, atau menggunakan sistem pangkalan data lain seperti MongoDB atau PostgreSQL.
Atas ialah kandungan terperinci Persediaan pelayan pangkalan data Nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!