Where Pada MySQL Node.js

Pilih Dengan Filter

Saat memilih record dari tabel, kamu dapat memfilter pemilihan dengan menggunakan pernyataan “WHERE”:

Contoh

Pilih record 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:

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

Kamu juga dapat memilih record yang dimulai, menyertakan, 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:

Jalankan “demo_db_where_s.js”

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

Yang akan memberi kamu hasil ini:

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

Meloloskan Nilai Kueri

Jika nilai kueri adalah variabel yang disediakan oleh user, kamu harus menghindari nilai tersebut.

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

Modul MySQL memiliki metode untuk keluar dari nilai kueri:

Contoh

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

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);
});

Kamu juga dapat menggunakan ? sebagai placeholder untuk nilai yang ingin kamu hilangkan.

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

Contoh

Meloloskan diri dari 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 kamu memiliki beberapa placeholder, array berisi beberapa nilai, dalam urutan itu:

Contoh

Beberapa placeholder:

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);
});