Node.js MySQL Dimana


Pilih Dengan Filter

Saat memilih rekaman dari tabel, Anda bisa memfilter pilihan dengan menggunakan pernyataan "WHERE":

Contoh

Pilih catatan dengan alamat "Park Lane 38":

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT * FROM customers WHERE address = 'Park Lane 38'", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode di atas dalam file bernama "demo_db_where.js" dan jalankan file tersebut:

Jalankan "demo_db_where.js"

C:\Users\Your Name>node demo_db_where.js

Yang akan memberi Anda hasil ini:

[
  { id: 11, name: 'Ben', address: 'Park Lane 38'}
]


Karakter Wildcard

Anda juga dapat memilih rekaman yang dimulai, disertakan, atau diakhiri dengan huruf atau frasa tertentu.

Gunakan karakter pengganti '%' untuk mewakili nol, satu atau beberapa karakter:

Contoh

Pilih catatan di mana alamatnya dimulai dengan huruf 'S':

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT * FROM customers WHERE address LIKE 'S%'", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode di atas dalam file bernama "demo_db_where_s.js" dan jalankan file tersebut:

Jalankan "demo_db_where_s.js"

C:\Users\Your Name>node demo_db_where_s.js

Yang akan memberi Anda hasil ini:

[
  { id: 8, name: 'Richard', address: 'Sky st 331'},
  { id: 14, name: 'Viola', address: 'Sideway 1633'}
]

Melarikan diri dari Nilai Kueri

Jika nilai kueri adalah variabel yang disediakan oleh pengguna, Anda harus menghindari nilai tersebut.

Ini untuk mencegah injeksi SQL, yang merupakan teknik peretasan web umum untuk menghancurkan atau menyalahgunakan database Anda.

Modul MySQL memiliki metode untuk keluar dari nilai kueri:

Contoh

Keluar nilai kueri dengan menggunakan mysql.escape() metode:

var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address = ' + mysql.escape(adr);
con.query(sql, function (err, result) {
  if (err) throw err;
  console.log(result);
});

Anda juga dapat menggunakan a ?sebagai pengganti untuk nilai yang ingin Anda hindari.

Dalam hal ini, variabel dikirim sebagai parameter kedua dalam metode query():

Contoh

Keluar nilai kueri dengan menggunakan ? metode placeholder:

var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address = ?';
con.query(sql, [adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});

Jika Anda memiliki beberapa tempat penampung, larik berisi beberapa nilai, dalam urutan itu:

Contoh

Beberapa tempat penampung:

var name = 'Amy';
var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE name = ? OR address = ?';
con.query(sql, [name, adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});