NodeJS ব্যবহার করে MySQL ডেটাবেস থেকে একটি বিদ্যমান টেবিল মুছে ফেলা যেতে পারে DROP TABLE স্টেটমেন্ট দিয়ে। করপোরেট পরিবেশে টেবিল মুছে ফেলার বদলে আর্কাইভ করার পরামর্শ দেওয়া হয়, কিন্তু কখনো কখনো ড্রপ করা প্রয়োজন পড়ে।
টেবিল ড্রপ করার দুটি পরিস্থিতি রয়েছে:
- টেবিল থাকলে ড্রপ করুন, নাইলে এরর দিন।
- টেবিল থাকে বা না থাকে, চুপচাপ ড্রপ করার চেষ্টা করুন (IF EXISTS)।
প্রয়োজনীয় সেটআপ
mkdir mysql-testcd mysql-testnpm init -ynpm install mysql
টেবিল ড্রপ করার উদাহরণ
উদাহরণ ১: সাধারণ DROP TABLE (এরর হবে যদি টেবিল না থাকে)
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
// "customers" টেবিল ড্রপ করুন
var sql = "DROP TABLE customers";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table deleted");
console.log(result);
});
});
আউটপুট (এরর)
Error: ER_BAD_TABLE_ERROR: Unknown table 'bo.customers'
কারণ: আমাদের customers নামে টেবিল নেই, আছে students।
উদাহরণ ২: সঠিক টেবিল নাম দিয়ে ড্রপ
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "DROP TABLE students";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table deleted");
console.log(result);
});
});
আউটপুট (সফল)
Table deleted
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
IF EXISTS ক্লজ ব্যবহার (সুরক্ষিত পদ্ধতি)
IF EXISTS ব্যবহার করলে টেবিল না থাকলে এরর দেয় না, শুধু ওয়ার্নিং দেয়।
উদাহরণ ৩: DROP TABLE IF EXISTS
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
var sql = "DROP TABLE IF EXISTS customers";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Table deleted");
console.log(result);
});
});
আউটপুট
Table deleted
OkPacket {
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverStatus: 2,
warningCount: 1, // টেবিল না থাকায় ওয়ার্নিং
message: '',
protocol41: true,
changedRows: 0
}
সারসংক্ষেপ
- DROP TABLE table_name: টেবিল নাইলে এরর।
- DROP TABLE IF EXISTS table_name: টেবিল নাইলে ওয়ার্নিং দিয়ে চলতে দেয়।
- প্রোডাকশনে সবসময়
IF EXISTSব্যবহার করুন।