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

MySQL-এ INFORMATION_SCHEMA ব্যবহার করে নির্দিষ্ট কলাম বাদ দিয়ে কলাম নাম তালিকা পাওয়া

MySQL-এ INFORMATION_SCHEMA.COLUMNS টেবিল থেকে কলামের মেটাডেটা পাওয়া যায়। নির্দিষ্ট কলাম বাদ দিতে NOT IN ব্যবহার করুন।

টেবিল তৈরি

mysql> create table DemoTable780 (
    CustomerId int,
    CustomerName varchar(100),
    CustomerAge int,
    CustomerCountryName varchar(100),
    isMarried tinyint(1)
);
Query OK, 0 rows affected (0.47 sec)

নির্দিষ্ট কলাম বাদ দিয়ে তালিকা পাওয়া

mysql> SELECT GROUP_CONCAT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'web' 
  AND TABLE_NAME = 'DemoTable780' 
  AND COLUMN_NAME NOT IN ('CustomerId', 'CustomerCountryName')
GROUP BY TABLE_SCHEMA, TABLE_NAME;

ফলাফল:

+------------------------------------+
| GROUP_CONCAT(COLUMN_NAME)          |
+------------------------------------+
| CustomerName,CustomerAge,isMarried |
+------------------------------------+
1 row in set (0.01 sec)

ব্যাখ্যা

  • TABLE_SCHEMA - ডেটাবেসের নাম (এখানে 'web')।
  • TABLE_NAME - টেবিলের নাম।
  • COLUMN_NAME NOT IN (...) - বাদ দেওয়া কলামগুলো।
  • GROUP_CONCAT - কলাম নামগুলো কমা দিয়ে এক স্ট্রিংয়ে যোড় করে।

অন্য উপায়: DESCRIBE / SHOW COLUMNS

DESC DemoTable780;
SHOW COLUMNS FROM DemoTable780;

এগুলো টেবিলের স্ট্রাকচার দেখায়, কিন্তু প্রোগ্রাম্যাটিক্যালি প্রসেস করার জন্য INFORMATION_SCHEMA ভালো।

  1. MySQL-এ NOT IN() ব্যবহার করে নির্দিষ্ট মান বাদ দিয়ে রেকর্ড নির্বাচন

  2. MySQL-এ টেবিলের কলাম নামগুলো পাওয়ার সিনট্যাক্স

  3. MySQL-এ SHOW TABLES ব্যবহার করে ডাটাবেসের সব টেবিল নাম দেখুন

  4. MySQL에서 CASE WHEN으로 동일 컬럼의 두 가지 다른 합계 구하기