Node.js ialah persekitaran masa jalan JavaScript untuk membina aplikasi rangkaian berprestasi tinggi, konkurensi tinggi, berskala dan boleh dipercayai. Ia adalah keperluan yang sangat biasa untuk melaksanakan operasi pangkalan data dalam Node.js, dan pertanyaan ialah salah satu fungsi yang paling biasa digunakan dalam operasi pangkalan data. Dalam pembangunan sebenar, pertanyaan berkaitan berbilang jadual perlu kerap dilakukan Artikel ini akan memperkenalkan cara melaksanakan pertanyaan berkaitan berbilang jadual dalam Node.js.
Melaksanakan operasi pangkalan data dalam Node.js memerlukan penggunaan pustaka pihak ketiga Artikel ini menggunakan MySQL sebagai contoh dan menggunakan pustaka klien MySQL untuk melaksanakan operasi pangkalan data , anda perlu menggunakan kod berikut untuk menyambung:
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect();
Kod di atas menggunakan kaedah mysql
modul createConnection
untuk mencipta objek sambungan MySQL, dan kemudian memanggil connect
kaedah untuk menyambung ke pangkalan data. Antaranya, host
ialah nama hos tempat pangkalan data terletak, user
ialah nama pengguna yang digunakan untuk log masuk ke pangkalan data, password
ialah kata laluan, dan database
ialah nama pangkalan data yang akan disambungkan .
Sebelum melaksanakan pertanyaan berkaitan berbilang jadual, anda perlu terlebih dahulu memahami cara melaksanakan pertanyaan jadual tunggal. Menggunakan perpustakaan klien MySQL, anda boleh menggunakan kaedah query
untuk menghantar pernyataan SQL ke pangkalan data, seperti yang ditunjukkan di bawah:
connection.query('SELECT name, age FROM users', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end();
Kod di atas menanyakan medan users
dan name
dalam age
jadual dan menambahkannya Output pada konsol. Parameter pertama kaedah query
ialah pernyataan SQL yang akan dilaksanakan dan parameter kedua ialah fungsi panggil balik yang digunakan untuk memproses hasil pertanyaan. Parameter pertama fungsi panggil balik ialah ralat yang berlaku semasa proses pertanyaan, parameter kedua ialah hasil pertanyaan, dan parameter ketiga ialah maklumat perihalan medan pertanyaan.
Sebelum melaksanakan pertanyaan berkaitan berbilang jadual, anda perlu memahami beberapa pernyataan JOIN:
Menggunakan pertanyaan perkaitan berbilang jadual memerlukan penggunaan pernyataan JOIN dan klausa ON untuk menentukan syarat yang akan dikaitkan. Berikut ialah contoh pertanyaan gabungan berbilang jadual:
connection.query('SELECT users.name, orders.id FROM users INNER JOIN orders ON users.id = orders.user_id', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end();
Kod di atas menanyakan data dalam jadual users
dan jadual orders
dan menggunakan INNER JOIN
untuk menyertai dua jadual. Keadaan perkaitan ialah users.id = orders.user_id
, iaitu medan users
jadual id
dikaitkan dengan medan orders
jadual user_id
. Hasil pertanyaan termasuk nilai dua medan users.name
dan orders.id
.
Dalam pembangunan sebenar, selalunya perlu melakukan pertanyaan berkaitan pada berbilang jadual. Berikut ialah contoh pertanyaan gabungan berbilang jadual:
connection.query('SELECT users.name, orders.id, order_items.product_id FROM users INNER JOIN orders ON users.id = orders.user_id INNER JOIN order_items ON orders.id = order_items.order_id', (error, results, fields) => { if (error) throw error; console.log(results); }); connection.end();
Kod di atas menanyakan data dalam jadual users
, jadual orders
dan jadual order_items
serta menggunakan INNER JOIN
untuk menyertai tiga jadual. Syarat yang berkaitan ialah users.id = orders.user_id
dan orders.id = order_items.order_id
. Hasil pertanyaan termasuk nilai tiga medan users.name
, orders.id
dan order_items.product_id
.
Artikel ini memperkenalkan cara melaksanakan pertanyaan berkaitan berbilang jadual dalam Node.js. Melalui kod sampel di atas, anda dapat melihat bahawa sangat mudah untuk menggunakan perpustakaan klien MySQL untuk melaksanakan pernyataan SQL dalam Node.js. Dalam pembangunan sebenar, anda perlu memberi perhatian kepada butiran, seperti nama medan hasil pertanyaan, dsb. Pada masa yang sama, anda juga perlu memberi perhatian kepada isu keselamatan seperti suntikan SQL.
Atas ialah kandungan terperinci pertanyaan berkaitan nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!