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