Node.js MySQL Nerede


Filtreyle Seç

Bir tablodan kayıt seçerken, "WHERE" ifadesini kullanarak seçimi filtreleyebilirsiniz:

Örnek

"Park Lane 38" adresli kayıt(lar)ı seçin:

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

Yukarıdaki kodu "demo_db_where.js" adlı bir dosyaya kaydedin ve dosyayı çalıştırın:

"demo_db_where.js"yi çalıştırın

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

Hangisi size bu sonucu verecektir:

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


Joker Karakterler

Belirli bir harf veya ifade ile başlayan, içeren veya biten kayıtları da seçebilirsiniz.

Sıfır, bir veya birden çok karakteri temsil etmek için '%' joker karakterini kullanın:

Örnek

Adresin 'S' harfi ile başladığı kayıtları seçin:

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

Yukarıdaki kodu "demo_db_where_s.js" adlı bir dosyaya kaydedin ve dosyayı çalıştırın:

"demo_db_where_s.js"yi çalıştırın

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

Hangisi size bu sonucu verecektir:

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

Kaçan Sorgu Değerleri

Sorgu değerleri kullanıcı tarafından sağlanan değişkenler olduğunda, değerlerden kaçmanız gerekir.

Bu, veritabanınızı yok etmek veya kötüye kullanmak için yaygın bir web hackleme tekniği olan SQL enjeksiyonlarını önlemek içindir.

MySQL modülünün sorgu değerlerinden kaçmak için yöntemleri vardır:

Örnek

mysql.escape() Yöntemi kullanarak sorgu değerlerinden kaçın :

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

?Kaçmak istediğiniz değerler için a'yı yer tutucu olarak da kullanabilirsiniz .

Bu durumda değişken, query() yönteminde ikinci parametre olarak gönderilir:

Örnek

? Yer tutucu yöntemini kullanarak sorgu değerlerinden kaçış :

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

Birden çok yer tutucunuz varsa, dizi şu sırayla birden çok değer içerir:

Örnek

Çoklu yer tutucular:

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