Node.js MySQL कहा पे
फ़िल्टर के साथ चयन करें
किसी तालिका से रिकॉर्ड का चयन करते समय, आप "WHERE" कथन का उपयोग करके चयन को फ़िल्टर कर सकते हैं:
उदाहरण
"पार्क लेन 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);
});
});
उपरोक्त कोड को "demo_db_where.js" नामक फ़ाइल में सहेजें और फ़ाइल चलाएँ:
"demo_db_where.js" चलाएँ
C:\Users\Your Name>node demo_db_where.js
जो आपको यह परिणाम देगा:
[
{ id: 11, name: 'Ben', address: 'Park Lane 38'}
]
वाइल्डकार्ड वर्ण
आप उन अभिलेखों का चयन भी कर सकते हैं जो किसी दिए गए अक्षर या वाक्यांश के साथ शुरू, शामिल या समाप्त होते हैं।
शून्य, एक या एक से अधिक वर्णों का प्रतिनिधित्व करने के लिए '%' वाइल्डकार्ड का प्रयोग करें:
उदाहरण
उन अभिलेखों का चयन करें जहां पता '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);
});
});
उपरोक्त कोड को "demo_db_where_s.js" नामक फ़ाइल में सहेजें और फ़ाइल चलाएँ:
"demo_db_where_s.js" चलाएँ
C:\Users\Your Name>node demo_db_where_s.js
जो आपको यह परिणाम देगा:
[
{ id: 8, name: 'Richard',
address: 'Sky st 331'},
{ id: 14, name: 'Viola', address: 'Sideway
1633'}
]
क्वेरी मान से बचना
जब क्वेरी मान उपयोगकर्ता द्वारा प्रदान किए गए चर होते हैं, तो आपको मानों से बचना चाहिए।
यह SQL इंजेक्शन को रोकने के लिए है, जो आपके डेटाबेस को नष्ट या दुरुपयोग करने के लिए एक सामान्य वेब हैकिंग तकनीक है।
MySQL मॉड्यूल में क्वेरी मानों से बचने के तरीके हैं:
उदाहरण
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);
});
?
आप उन मानों के लिए प्लेसहोल्डर के रूप में भी उपयोग कर सकते हैं जिन्हें आप बचाना चाहते हैं।
इस मामले में, चर को क्वेरी () विधि में दूसरे पैरामीटर के रूप में भेजा जाता है:
उदाहरण
?
प्लेसहोल्डर विधि का उपयोग करके क्वेरी मानों से बचें :
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);
});
यदि आपके पास एकाधिक प्लेसहोल्डर हैं, तो सरणी में उस क्रम में एकाधिक मान होते हैं:
उदाहरण
एकाधिक प्लेसहोल्डर:
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);
});