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

MySQL INSERT INTO কমান্ডের সাথে WHERE ক্লজ কীভাবে ব্যবহার করবেন?


নতুন রো ইনসার্ট করার ক্ষেত্রে INSERT INTO কমান্ডের সাথে শর্তসাপেক্ষ ইনসার্ট (WHERE ক্লজ) ব্যবহার করা যায়। এটি নিচের পদ্ধতিগুলোতে করা যায়:

ডামি টেবিল (dual) ব্যবহার করে

এখানে ডামি টেবিল থেকে শর্তসহ মান ইনসার্ট করা হয়। সিনট্যাক্স:

INSERT INTO table_name(column1,column2,column3,...) Select value1,value2,value3,... From dual WHERE [conditional predicate];

উদাহরণ

mysql> Create table testing(id int, item_name varchar(10));
Query OK, 0 rows affected (0.15 sec)
mysql> Insert into testing (id,item_name)Select 1,'Book' From Dual Where 1=1;
Query OK, 1 row affected (0.11 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> Select * from testing;
+------+-----------+
| id   | item_name |
+------+-----------+
| 1    | Book      |
+------+-----------+
1 row in set (0.00 sec)

উপরের উদাহরণে 'testing' টেবিল তৈরি করে ডামি টেবিল dual এবং শর্ত (1=1) ব্যবহার করে রো ইনসার্ট করা হয়েছে। শর্ত সত্য হলে রো ইনসার্ট হয়, মিথ্যা হলে হয় না।

একই কাঠামোর টেবিল ব্যবহার করে

যদি অন্য একটি টেবিলের কাঠামো একই থাকে, তবে নিচের উদাহরণে দেখানো হয়েছে কীভাবে WHERE ক্লজ সহ INSERT INTO ব্যবহার করা যায়।

mysql> Insert into dummy1(id,name)select id, name from dummy Where id =1;
Query OK, 1 row affected (0.06 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from dummy;
+------+--------+
| id   | Name   |
+------+--------+
| 1    | Gaurav |
| 2    | Aarav  |
+------+--------+
2 rows in set (0.00 sec)
mysql> select * from dummy1;
+------+--------+
| id   | Name   |
+------+--------+
| 1    | Gaurav |
+------+--------+
1 row in set (0.00 sec)

এখানে 'dummy1' টেবিলে 'dummy' টেবিল থেকে শর্ত (id=1) মানিয়ে রো ইনসার্ট করা হয়েছে।


  1. MySQL-এ সাবকোয়েরিকে FROM ক্লজে টেবিল হিসেবে ব্যবহার করা

  2. MySQL-এ FROM ক্লজ ছাড়া SELECT কীভাবে ব্যবহার করবেন?

  3. MySQL-এ DISTINCT ক্লজ WHERE এবং LIMIT ক্লজের সাথে কীভাবে ব্যবহার করবেন?

  4. MySQL VIEW-এ WHERE ক্লজ ব্যবহার করা