MySQL SHOW COLUMNS-এর রিটার্ন অর্ডার নিয়ন্ত্রণ করতে ORDER BY ক্লজ ব্যবহার করতে হয়। সিনট্যাক্স নিচে দেওয়া হলো:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'yourTableName' AND column_name LIKE 'yourStartColumnName%' ORDER BY column_name DESC;
TEST ডেটাবেসে একটি টেবিল তৈরি করা যাক। টেবিল তৈরির কোয়েরি:
mysql> create table OrderByColumnName -> ( -> StudentId int, -> StudentFirstName varchar(10), -> StudentLastName varchar(10), -> StudentAddress varchar(20), -> StudentAge int, -> StudentMarks int -> ); Query OK, 0 rows affected (1.81 sec)
কেস ১ − এখানে রেজাল্ট ডেসেন্ডিং অর্ডারে। MySQL-এ শো কলামের অর্ডার রিটার্ন করার কোয়েরি:
mysql> SELECT COLUMN_NAME -> FROM INFORMATION_SCHEMA.COLUMNS -> WHERE table_name = 'OrderByColumnName' -> AND column_name LIKE 'student%' -> ORDER BY column_name DESC;
আউটপুট নিচে দেওয়া হলো:
+------------------+ | COLUMN_NAME | +------------------+ | StudentMarks | | StudentLastName | | StudentId | | StudentFirstName | | StudentAge | | StudentAddress | +------------------+ 6 rows in set (0.00 sec)
কেস ২ − যদি আপনি আউটপুট এসেন্ডিং অর্ডারে চান, তবে ASC কীওয়ার্ড লিখতে হবে না কারণ ডিফল্টভাবে রেজাল্ট এসেন্ডিং অর্ডারে আসে।
কোয়েরিটি হলো:
mysql> SELECT COLUMN_NAME -> FROM INFORMATION_SCHEMA.COLUMNS -> WHERE table_name = 'OrderByColumnName' -> AND column_name LIKE 'student%' -> ORDER BY column_name;
আউটপুট নিচে দেওয়া হলো:
+------------------+ | COLUMN_NAME | +------------------+ | StudentAddress | | StudentAge | | StudentFirstName | | StudentId | | StudentLastName | | StudentMarks | +------------------+ 6 rows in set (0.00 sec)
ব্যাখ্যা: SHOW COLUMNS বা DESC table কমান্ড কলামের ডিফল্ট অর্ডার (তালিকা তৈরির ক্রম) দেখায়। যদি কাস্টম অর্ডার (যেমন এলফাবেটিক্যালি) চান, তবে INFORMATION_SCHEMA.COLUMNS টেবিল কোয়েরি করে ORDER BY COLUMN_NAME ব্যবহার করতে হয়। এটি স্কিমা ইনস্পেকশন, ডাইনামিক কোয়েরি জেনারেশন, ডকুমেন্টেশন জেনারেশনে কাজে লাগে।