Rumah  >  Artikel  >  hujung hadapan web  >  pertanyaan berkaitan nodejs

pertanyaan berkaitan nodejs

WBOY
WBOYasal
2023-05-11 12:54:43670semak imbas

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.

  1. Sambungan pangkalan data

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 .

  1. Pertanyaan jadual tunggal

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.

  1. Pertanyaan berkaitan berbilang jadual

Sebelum melaksanakan pertanyaan berkaitan berbilang jadual, anda perlu memahami beberapa pernyataan JOIN:

  • INNER JOIN : Mengembalikan baris yang memenuhi syarat dalam kedua-dua jadual;
  • LEFT JOIN: Mengembalikan semua baris dalam jadual kiri, baris dalam jadual kanan yang memenuhi syarat, dan mengembalikan NULL jika tiada baris dalam jadual kanan yang memenuhi syarat;
  • RIGHT JOIN: Mengembalikan semua baris dalam jadual kanan, baris dalam jadual kiri yang memenuhi syarat, dan mengembalikan NULL jika tiada baris dalam jadual kiri yang memenuhi syarat;
  • FULL OUTER JOIN (MySQL tidak menyokong ): Mengembalikan semua baris dalam dua jadual, dan mana-mana baris yang tidak sepadan adalah NULL.

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.

  1. Pertanyaan berkaitan pada berbilang jadual

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.

  1. Ringkasan

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!

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