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

MySQL-এ টেবিল নাম ও কলাম নাম নির্দিষ্ট করে DELETE করা (table.column = value)

MySQL-এ DELETE স্টেটমেন্টে টেবিল নাম ও কলাম নাম স্পষ্টভাবে নির্দিষ্ট করে রেকর্ড ডিলিট করা যায়। এটি JOIN বা সাবকোয়েরি-এ কলাম আম্বিগুইটি দূর করতে সাহায্য করে।

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

mysql> CREATE TABLE DemoTable (StudentName VARCHAR(100), StudentAge INT);
Query OK, 0 rows affected (0.81 sec)
mysql> INSERT INTO DemoTable VALUES ('Chris', 21);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES ('Robert', 20);
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES ('David', 22);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES ('Mike', 24);
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES ('Sam', 19);
Query OK, 1 row affected (0.12 sec)

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

mysql> SELECT * FROM DemoTable;

আউটপুট:

+-------------+------------+
| StudentName | StudentAge |
+-------------+------------+
| Chris       | 21         |
| Robert      | 20         |
| David       | 22         |
| Mike        | 24         |
| Sam         | 19         |
+-------------+------------+
5 rows in set (0.00 sec)

টেবিল.কলাম সিনট্যাক্স দিয়ে ডিলিট

mysql> DELETE FROM DemoTable WHERE DemoTable.StudentName = 'Robert';
Query OK, 1 row affected (0.12 sec)

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

mysql> SELECT * FROM DemoTable;

ফলাফল:

+-------------+------------+
| StudentName | StudentAge |
+-------------+------------+
| Chris       | 21         |
| David       | 22         |
| Mike        | 24         |
| Sam         | 19         |
+-------------+------------+
4 rows in set (0.00 sec)

সিনট্যাক্স ও ব্যবহার

  • DELETE FROM table_name WHERE table_name.column_name = value;
  • একটি টেবিলে অপরিহার্য নয়, কিন্তু JOIN/সাবকোয়েরি-এ কলাম ডিসএম্বিগুয়েশনের জন্য বাধ্যতামূলক।
  • DELETE t1 FROM t1 JOIN t2 ON ... WHERE t1.col = val - মাল্টি-টেবিল ডিলিটে টেবিল আলিয়াস (t1) ব্যবহার করা ভালো।

TRUNCATE বনাম DELETE

  • TRUNCATE TABLE - সকল রো দ্রুত মুছে ফেলে (AUTO_INCREMENT রিসেট, ট্রিগার ফায়ার করে না, ROLLBACK অসম্ভব)।
  • DELETE - শর্তানুযায়ী মুছে, ট্রিগার ফায়ার করে, ROLLBACK সম্ভব (InnoDB-এ)।
  1. Java ব্যবহার করে MySQL ডেটাবেস থেকে ডেটা ডিলিট করা

  2. MySQL-এ নির্দিষ্ট ডুপ্লিকেট রেকর্ড নতুন ভ্যালু দিয়ে রিপ্লেস করা

  3. Java ব্যবহার করে MySQL টেবিলে রেকর্ড সন্নিবেশ করা

  4. MySQL-এ LIMIT 1 ব্যবহার করে ডুপ্লিকেট রেকর্ড থেকে শুধু একটি ডিলিট করুন