মাইএসকিউএল-এ, শর্তের সাথে ছাঁটাই করার কোন উপায় নেই। আপনি যেখানে ধারা সহ ট্রাঙ্কেট স্টেটমেন্ট ব্যবহার করতে পারবেন না।
আপনি যদি শর্ত চান, ডিলিট কমান্ড -
ব্যবহার করুনDELETE FROM yourTableName WHERE youCondition;
উপরের সিনট্যাক্স ঠিক আছে কিন্তু আপনি যদি একটি দ্রুত সমাধান চান, তাহলে DELETE ট্রানকেটের তুলনায় ভাল নয়। ট্রাঙ্কেটের সুবিধা হল এটি লগগুলিতে লিখবে না৷
৷আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -
mysql> create table DeleteDemo -> ( -> Id int, -> Name varchar(100) -> ); Query OK, 0 rows affected (1.22 sec)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -
mysql> insert into DeleteDemo values(101,'Carol'); Query OK, 1 row affected (0.15 sec) mysql> insert into DeleteDemo values(102,'Sam'); Query OK, 1 row affected (0.15 sec) mysql> insert into DeleteDemo values(103,'Bob'); Query OK, 1 row affected (0.16 sec) mysql> insert into DeleteDemo values(104,'Mike'); Query OK, 1 row affected (0.17 sec) mysql> insert into DeleteDemo values(105,'John'); Query OK, 1 row affected (0.09 sec) mysql> insert into DeleteDemo values(106,'Maria'); Query OK, 1 row affected (0.20 sec) mysql> insert into DeleteDemo values(107,'Johnson'); Query OK, 1 row affected (0.17 sec)
এখন সিলেক্ট কমান্ড ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করা যাক। প্রশ্নটি নিম্নরূপ -
mysql> select *from DeleteDemo;
আউটপুট
+------+---------+ | Id | Name | +------+---------+ | 101 | Carol | | 102 | Sam | | 103 | Bob | | 104 | Mike | | 105 | John | | 106 | Maria | | 107 | Johnson | +------+---------+ 7 rows in set (0.00 sec)
এখন আপনি ডিলিট কমান্ড ব্যবহার করতে পারেন তবে এটি যেখানে ক্লজের সাথে ছোট হবে না। নিম্নরূপ −
যেখানে ক্লজ ব্যবহার করে টেবিল থেকে রেকর্ড মুছে ফেলার প্রশ্নmysql> delete from DeleteDemo where Id>104; Query OK, 3 rows affected (0.13 sec)
আসুন সিলেক্ট কমান্ড ব্যবহার করে আবার টেবিলের ডেটা পরীক্ষা করি। প্রশ্নটি নিম্নরূপ -
mysql> select *from DeleteDemo;
আউটপুট
+------+-------+ | Id | Name | +------+-------+ | 101 | Carol | | 102 | Sam | | 103 | Bob | | 104 | Mike | +------+-------+ 4 rows in set (0.00 sec)
উপরের নমুনা আউটপুটটি দেখুন, 104-এর বেশি সমস্ত রেকর্ড টেবিল থেকে মুছে ফেলা হয়েছে৷