কম্পিউটার টিউটোরিয়াল

MySQL-এ DELETE ... WHERE ব্যবহার করে নির্দিষ্ট মানের চেয়ে বড় মানযুক্ত রেকর্ড মুছে ফেলা

নির্দিষ্ট থ্রেশহোল্ডের চেয়ে বড় মানযুক্ত রেকর্ড ডিলিট করতে DELETE ... WHERE column > value ব্যবহার করা হয়।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    PlayerName VARCHAR(100),
    PlayerScore INT
);
Query OK, 0 rows affected (0.97 sec)
mysql> INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES ('Chris', 780);
Query OK, 1 row affected (0.25 sec)
mysql> INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES ('Sam', 1100);
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES ('Mike', 900);
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES ('Bob', 890);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable(PlayerName, PlayerScore) VALUES ('Carol', 1000);
Query OK, 1 row affected (0.20 sec)

রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable;

আউটপুট:

+----+------------+-------------+
| Id | PlayerName | PlayerScore |
+----+------------+-------------+
| 1  | Chris      | 780         |
| 2  | Sam        | 1100        |
| 3  | Mike       | 900         |
| 4  | Bob        | 890         |
| 5  | Carol      | 1000        |
+----+------------+-------------+
5 rows in set (0.00 sec)

PlayerScore > 900 হলে ডিলিট

mysql> DELETE FROM DemoTable WHERE PlayerScore > 900;
Query OK, 2 rows affected (0.18 sec)

ডিলিট পর রেকর্ড

mysql> SELECT * FROM DemoTable;

ফলাফল (Sam 1100, Carol 1000 ডিলিট):

+----+------------+-------------+
| Id | PlayerName | PlayerScore |
+----+------------+-------------+
| 1  | Chris      | 780         |
| 3  | Mike       | 900         |
| 4  | Bob        | 890         |
+----+------------+-------------+
3 rows in set (0.00 sec)

সতর্কতা ও সেরা অনুশীলন

  • WHERE ছাড়া DELETE - সকল রো মুছে ফেলে (বিরাম চিহ্ন দিন!)।
  • বড় টেবিলে ব্যাচে ডিলিট করুন (LIMIT দিয়ে) লক এড়াতে: DELETE FROM t WHERE score > 900 LIMIT 1000; (লুপ চালিয়ে)۔
  • ফরেন কী কনস্ট্রেইন্ট থাকলে ON DELETE CASCADE/SET NULL চেক করুন।
  • ট্রানজ্যাকশন ব্যবহার করুন: START TRANSACTION; DELETE ...; COMMIT;।
  1. Java ব্যবহার করে MySQL ডেটাবেস থেকে ডেটা ডিলিট করা

  2. MySQL-এ LIKE এবং OR ব্যবহার করে একাধিক মান খোঁজা

  3. MySQL-এ CONCAT() এবং CONCAT_WS() ব্যবহার করে ২টির বেশি কলাম কনক্যাটেনেট করা

  4. PHP এবং MySQL-এ 'Boolean' মান হ্যান্ডেল করার পদ্ধতি