pengembalian pangkalan data pertanyaan nodejs

王林
Lepaskan: 2023-05-25 09:40:08
asal
790 orang telah melayarinya

Node.js ialah persekitaran masa jalan JavaScript yang ringan yang boleh menggunakan JavaScript untuk menulis kod sisi pelayan, menyokong I/O tak segerak dan model dipacu peristiwa dan sangat sesuai untuk membina aplikasi rangkaian yang sangat berskala. Apabila membangunkan aplikasi web, selalunya perlu untuk berinteraksi dengan pangkalan data, seperti menyoal maklumat pengguna, mendapatkan semula sejarah pesanan, dsb. Artikel ini akan memperkenalkan cara untuk menanyakan pangkalan data dan mengembalikan data dalam Node.js.

Pilih Pangkalan Data

Sebelum kita mula menanyakan pangkalan data, kita perlu memilih pangkalan data yang ingin kita gunakan. Node.js menyokong banyak pangkalan data popular seperti MongoDB, MySQL dan PostgreSQL. Setiap pangkalan data mempunyai kelebihan dan kekurangannya, dan pangkalan data yang sesuai harus dipilih berdasarkan keperluan projek. Dalam artikel ini, kami akan menggunakan pangkalan data MySQL.

Pasang MySQL

Sebelum menggunakan pangkalan data MySQL, kita perlu memasang MySQL terlebih dahulu. Di Ubuntu, anda boleh menggunakan arahan berikut:

sudo apt-get update
sudo apt-get install mysql-server
Salin selepas log masuk

Pada Windows, anda boleh memuat turun pemasang dari tapak web rasmi MySQL dan ikut gesaan untuk memasangnya.

Sambung ke pangkalan data MySQL

Dalam Node.js, kita boleh menggunakan pakej npm mysql untuk berinteraksi dengan pangkalan data MySQL. Untuk menggunakan perpustakaan ini, kita perlu memasangnya terlebih dahulu. Anda boleh menggunakan arahan berikut:

npm install mysql
Salin selepas log masuk

Menyambung ke pangkalan data MySQL memerlukan penciptaan kumpulan sambungan, yang akan bertanggungjawab untuk menguruskan semua sambungan ke pangkalan data. Berikut ialah contoh kod untuk menyambung ke pangkalan data MySQL:

const mysql = require('mysql');

const pool = mysql.createPool({
  connectionLimit: 10,
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name'
});

pool.getConnection((err, connection) => {
  if (err) throw err;
  console.log('Connected to MySQL');
})
Salin selepas log masuk

Dalam contoh, kami telah mencipta kumpulan sambungan menggunakan kaedah mysql.createPool dan lulus beberapa pilihan seperti bilangan maksimum sambungan, nama hos, nama pengguna , kata laluan dan nama pangkalan data untuk disambungkan. Kemudian, kami menggunakan kaedah pool.getConnection untuk mendapatkan sambungan daripada kolam sambungan. Jika berjaya, mesej "Disambungkan ke MySQL" akan dicetak.

Menyiasat pangkalan data

Selepas menyambung ke pangkalan data MySQL, kita boleh menggunakan objek sambungan untuk menanyakan pangkalan data. Berikut ialah contoh kod untuk menanyakan semua pengguna dalam pangkalan data MySQL:

const mysql = require('mysql');

const pool = mysql.createPool({
  connectionLimit: 10,
  host: 'localhost',
  user: 'username',
  password: 'password',
  database: 'database_name'
});

pool.getConnection((err, connection) => {
  if (err) throw err;

  connection.query('SELECT * FROM users', (err, rows) => {
    if (err) throw err;

    console.log(rows);
    connection.release();
  });
});
Salin selepas log masuk

Dalam contoh ini, kami menggunakan kaedah connection.query untuk menanyakan semua pengguna dalam pangkalan data MySQL. Kaedah ini menerima dua parameter: rentetan yang mengandungi pertanyaan SQL dan fungsi panggil balik. Jika pertanyaan berjaya, parameter kedua bagi fungsi panggil balik akan menjadi tatasusunan yang mengandungi semua hasil pertanyaan. Dalam contoh ini, kami mencetak keputusan ke konsol dan melepaskan sambungan pangkalan data menggunakan kaedah connection.release.

Hasil pertanyaan boleh diproses selanjutnya. Sebagai contoh, kita boleh menggunakan kaedah Array.map untuk menukar hasil kepada tatasusunan objek:

rows = rows.map(row => {
  return {
    id: row.id,
    name: row.name,
    email: row.email
  };
});
Salin selepas log masuk

Dalam contoh ini, kami menggunakan kaedah Array.map untuk menukar setiap objek baris dalam hasil untuk mempunyai ID, nama dan elektron Objek sifat mel.

Hadkan keputusan

Dalam sesetengah kes, mungkin perlu untuk mengehadkan hasil pertanyaan, seperti hanya mengembalikan sepuluh keputusan teratas. Dalam MySQL, anda boleh menggunakan klausa LIMIT untuk mengehadkan hasil. Berikut ialah kod sampel yang menunjukkan cara untuk mengehadkan hasil:

connection.query('SELECT * FROM users LIMIT 10', (err, rows) => {
  if (err) throw err;

  console.log(rows);
  connection.release();
});
Salin selepas log masuk

Dalam contoh ini, kami menggunakan klausa LIMIT untuk mengehadkan hasil kepada hanya sepuluh baris pertama.

Tapis hasil

Dalam sesetengah kes, anda mungkin perlu menapis hasil pertanyaan berdasarkan kriteria tertentu. Dalam MySQL, anda boleh menggunakan klausa WHERE untuk menapis hasil. Berikut ialah kod sampel yang menunjukkan cara menggunakan klausa WHERE untuk menapis hasil:

connection.query('SELECT * FROM users WHERE age > 18', (err, rows) => {
  if (err) throw err;

  console.log(rows);
  connection.release();
});
Salin selepas log masuk

Dalam contoh ini, kami menggunakan klausa WHERE untuk menapis hasil agar hanya memasukkan pengguna yang berumur lebih daripada 18 tahun.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara untuk menanyakan pangkalan data MySQL dalam Node.js dan mengembalikan hasilnya. Mula-mula, kami menyambung ke pangkalan data MySQL, kemudian melaksanakan pertanyaan dan memproses keputusan menggunakan fungsi panggil balik. Kami juga membincangkan cara mengehadkan dan menapis hasil dan memproses hasilnya. Harap artikel ini dapat membantu anda menanyakan pangkalan data dalam Node.js.

Atas ialah kandungan terperinci pengembalian pangkalan data pertanyaan nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan