ডেটা ইনসারশনের পর রেকর্ড ডিলিট করাও প্রয়োজন হয়। ডেটাবেস টেবিল থেকে শনাক্তকারী (identifier) ব্যবহার করে রেকর্ড ডিলিট করা যায় DELETE FROM স্টেটমেন্ট দিয়ে।
NodeJS-এ MySQL থেকে রেকর্ড ডিলিট করার দুটি পদ্ধতি:
- স্ট্যাটিক ডিলিশন: পূর্ব নির্ধারিত ফিল্টার মান দিয়ে ডিলিট।
- ডাইনামিক ডিলিশন: ইনপুট নিয়ে সেটি অনুযায়ী ডিলিট।
প্রয়োজনীয় সেটআপ
mkdir mysql-testcd mysql-testnpm init -ynpm install mysql
Students টেবিল থেকে রেকর্ড ডিলিট
উদাহরণ ১: স্ট্যাটিক ডিলিশন (ঠিকানা = 'Delhi')
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
// address="Delhi" হলে ডিলিট
var sql = "DELETE FROM student WHERE address = 'Delhi';";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Record deleted = ", result.affectedRows);
console.log(result);
});
});
আউটপুট
Record deleted = 1
OkPacket {
fieldCount: 0,
affectedRows: 1, // ডিলিট হওয়া সারির সংখ্যা
insertId: 0,
serverStatus: 34,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
উদাহরণ ২: ডাইনামিক ডিলিশন (প্লেসহোল্ডার ব্যবহার)
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
// প্লেসহোল্ডার (?) ব্যবহার করে ইনজেকশন রোধ
let sql = `DELETE FROM student WHERE address = ?`;
// 'Delhi' ঠিকানার সারি ডিলিট
con.query(sql, 'Delhi', (err, result, fields) => {
if (err) throw err;
console.log("Record deleted = ", result.affectedRows);
console.log(result);
});
});
আউটপুট
OkPacket {
fieldCount: 0,
affectedRows: 3, // address='Delhi' এর ৩ সারি ডিলিট
insertId: 0,
serverStatus: 34,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
গুরুত্বপূর্ণ সিকিউরিটি টিপস
- সবসময় প্লেসহোল্ডার (?) বা প্যারামিটারাইজড কোয়ারি ব্যবহার করুন—স্ট্রিং কনক্যাটেনেশন করবেন না।
affectedRowsদেখে কত সারি ডিলিট হয়েছে জানুন।- বড় টেবিলে
LIMITক্লজ যোগ করুন অযান্ত্রিক ভুল রোধে। - মহত্বপূর্ণ ডেটার জন্য
SOFT DELETE(deleted_at কলাম) ব্যবহার ভালো।