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