কম্পিউটার

আপডেট স্টেটমেন্টের SET ক্লজে কলামের ক্রমটির গুরুত্ব কী? মাইএসকিউএল দ্বারা প্রত্যাবর্তিত ফলাফল সেটে এটি কি বড় পার্থক্য করবে?


আপডেট স্টেটমেন্টের SET ক্লজে কলামের ক্রম গুরুত্বপূর্ণ কারণ MySQL আমাদের একটি এক্সপ্রেশনে ব্যবহৃত কলামের নামের আপডেট করা মান প্রদান করে। হ্যাঁ, এটি MySQL দ্বারা প্রত্যাবর্তিত ফলাফল সেটে বড় পার্থক্য আনবে। এটি পরিষ্কার করার জন্য একটি উদাহরণ নিচে দেওয়া হল -

উদাহরণ

এই উদাহরণে, আমরা একটি টেবিল 'টেন্ডার' করছি। প্রথমে, আমরা SET ক্লজে প্রথম হিসাবে 'tender_id' এবং দ্বিতীয় কলাম হিসাবে 'রেট' ব্যবহার করে আপডেট বিবৃতি লিখব এবং তারপরে আমরা প্রথম হিসাবে 'রেট' এবং দ্বিতীয় কলাম হিসাবে 'টেন্ডার_আইডি' ব্যবহার করে আপডেট বিবৃতি লিখব টেবিল 'টেন্ডার'।

mysql> Select * from tender;

+-----------+---------+------+
| tender_id | company | rate |
+-----------+---------+------+
| 200       | ABC     | 1000 |
| 300       | ABD     | 6000 |
| 301       | ABE     | 7000 |
| 302       | ABF     | 3500 |
| 303       | ABG     | 3600 |
+-----------+---------+------+

5 rows in set (0.00 sec)

mysql> UPDATE tender SET tender_id = tender_id + 100, rate = tender_id * 4 WHERE tender_id = 200;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0

উপরের প্রশ্নটি প্রথমে 'tender_id'-এর মান আপডেট করবে এবং তারপর 'tender_id'-এর নতুন মান অনুসারে 'রেট'-এর মান আপডেট করবে। এটি MySQL দ্বারা প্রত্যাবর্তিত ফলাফল সেটে নিম্নরূপ −

লক্ষ্য করা যেতে পারে
mysql> Select * from tender;

+-----------+---------+------+
| tender_id | company | rate |
+-----------+---------+------+
| 300       | ABC     | 1200 |
| 300       | ABD     | 6000 |
| 301       | ABE     | 7000 |
| 302       | ABF     | 3500 |
| 303       | ABG     | 3600 |
+-----------+---------+------+

5 rows in set (0.00 sec)

mysql> UPDATE tender1 SET rate = tender_id * 4, tender_id = tender_id + 200 WHERE company = 'ABD';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0

এখন, উপরের ক্যোয়ারীটি প্রথমে 'tender_id'-এর পুরানো মান অনুসারে 'রেট'-এর মান আপডেট করবে এবং তারপর 'tender_id'-এর মান আপডেট করবে।>

mysql> Select * from tender;

+-----------+---------+------+
| tender_id | company | rate |
+-----------+---------+------+
| 300       | ABC     | 1200 |
| 500       | ABD     | 1200 |
| 301       | ABE     | 7000 |
| 302       | ABF     | 3500 |
| 303       | ABG     | 3600 |
+-----------+---------+------+

5 rows in set (0.00 sec)

এইভাবে, SET ক্লজের কলামের ক্রম পরিবর্তন আউটপুটে একটি বড় পার্থক্য আনবে।


  1. MySQL 'IN' ধারায় (ORDER BY) অবস্থান অনুসারে ফেরত রেকর্ড সেটটি পান

  2. মাইএসকিউএল-এ কলামের নাম*1 দ্বারা অর্ডার করার উদ্দেশ্য কী?

  3. কিভাবে MySQL ফলাফল নির্দিষ্ট হিসাবে একই সেট করা যায়?

  4. কিভাবে জাভাতে একটি মাইএসকিউএল সংযোগ তৈরি করবেন? লোকাহোস্টে সেট করার জন্য পোর্ট নম্বর কী?