MySQL WHERE


ULASHISH

Filtr bilan tanlang

Jadvaldan yozuvlarni tanlayotganda, tanlashni foydalanib, filtrlashingiz mumkin "WHERE" operatori:

Misol

“Park Lane 38” manzilli yozuv(lar)ni tanlang:

let mysql = require('mysql');

let 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);
  });
});
Misolni ishga tushirish »

Yuqoridagi kodni "demo_db_where.js" nomli faylga saqlang va faylni ishga tushiring:

"demo_db_where.js" ni ishga tushiring

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

Bu sizga bu natijani beradi:

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


Joker belgilar

Shuningdek, siz berilgan harf bilan boshlanadigan, o‘z ichiga olgan yoki tugaydigan yozuvlarni tanlashingiz mumkin yoki ibora.

Nol, bir yoki bir nechta belgilarni ifodalash uchun "%" joker belgisidan foydalaning:

Misol

Manzil "S" harfi bilan boshlanadigan yozuvlarni tanlang:

let mysql = require('mysql');

let 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);
  });
});
Misolni ishga tushirish »

Yuqoridagi kodni "demo_db_where_s.js" nomli faylga saqlang va faylni ishga tushiring:

"demo_db_where_s.js" ni ishga tushiring

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

Bu sizga bu natijani beradi:

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

So‘rov qiymatlaridan qochish

Agar so‘rov qiymatlari foydalanuvchi tomonidan taqdim etilgan o‘zgaruvchilar bo‘lsa, siz qiymatlarni escape qilishingiz (ekranlashingiz) kerak.

Bu keng tarqalgan veb-xakerlik texnikasi bo‘lgan SQL in’ektsiyalarining oldini olishdir ma’lumotlar bazasini yo‘q qilish yoki noto‘g‘ri ishlatish.

MySQL modulida so‘rov qiymatlarini escape qilish (ekranlash) usullari mavjud:

Misol

mysql.escape() yordamida so‘rov qiymatlaridan qochish usul:

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

To‘ldiruvchi sifatida ? dan ham foydalanishingiz mumkin siz qochmoqchi bo‘lgan qadriyatlar.

Bunday holda, o‘zgaruvchi so‘rovda () ikkinchi parametr sifatida yuboriladi. usul:

Misol

? to‘ldiruvchisi yordamida so‘rov qiymatlaridan qochish usul:

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

Agar sizda bir nechta to‘ldiruvchi bo‘lsa, massivda bir nechta qiymatlar mavjud bu buyruq:

Misol

Bir nechta to‘ldiruvchilar:

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


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!