MySQL-এ বর্তমান ডাটাবেস পেতে আপনি SELECT DATABASE() ফাংশন ব্যবহার করতে পারেন।
SELECT DATABASE();
সিনট্যাক্স
বর্তমান ডাটাবেসের নাম ভেরিয়েবলে সংরক্ষণ করে সেটি ড্রপ করার সম্পূর্ণ প্রক্রিয়া নিচে দেওয়া হলো:
SET @currentDatabase = DATABASE();
SELECT @currentDatabase;
SET @sqlQuery = CONCAT('DROP DATABASE ', @currentDatabase);
PREPARE stmt FROM @sqlQuery;
EXECUTE stmt;
উদাহরণ
উপরের কোয়েরিগুলো এক্সিকিউট করলে নিচের আউটপুট পাওয়া যাবে:
mysql> SET @currentDatabase = DATABASE();
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @currentDatabase;
+------------------+
| @currentDatabase |
+------------------+
| employeeonboard |
+------------------+
1 row in set (0.00 sec)
mysql> SET @sqlQuery = CONCAT('DROP DATABASE ', @currentDatabase);
Query OK, 0 rows affected (0.00 sec)
mysql> PREPARE stmt FROM @sqlQuery;
Query OK, 0 rows affected (0.04 sec)
Statement prepared
mysql> EXECUTE stmt;
Query OK, 0 rows affected (0.56 sec)
ডাটাবেস ডিলিট হয়েছে কিনা যাচাই করা
ডাটাবেস ডিলিট হয়েছে কিনা তা যাচাই করতে আবার SELECT DATABASE() চালান:
mysql> SELECT DATABASE();
আউটপুট:
+------------+ | DATABASE() | +------------+ | NULL | +------------+ 1 row in set (0.00 sec)
নোট: NULL মান বোঝায় কোনো ডাটাবেস সিলেক্ট করা নেই, অর্থাৎ ডাটাবেস সফলভাবে ডিলিট হয়েছে। এই পদ্ধতিতে ডাইনামিক SQL ব্যবহার করে রানটাইমে ডাটাবেসের নাম নিয়ে ড্রপ করা হয়।