MySQL-এ INFORMATION_SCHEMA.COLUMNS দিয়ে কলাম মেটাডেটা পাওয়া
কোনো টেবিলের সকল কলামের নাম ও ডেটা টাইপ প্রোগ্রামেটিক্যালি বের করতে INFORMATION_SCHEMA.COLUMNS কোয়ারি করা হয়। এটি ORM, কোড জেনারেশন, ডকুমেন্টেশনে কাজে আসে।
সিনট্যাক্স
SELECT COLUMN_NAME, COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'yourTableName' AND TABLE_SCHEMA = 'yourDatabaseName'; -- অপশনাল, বর্তমান DB হলে লাগে না
উদাহরণ সহ ব্যাখ্যা
টেবিল তৈরি (বিভিন্ন টাইপ):
mysql> CREATE TABLE DemoTable (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ClientName VARCHAR(60),
-> ClientAge INT,
-> ClientSalary DECIMAL(10,4),
-> isRegularClient BOOL
-> );
কলাম নাম ও টাইপ বের করি:
mysql> SELECT COLUMN_NAME, COLUMN_TYPE
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_NAME = 'DemoTable';
+-----------------+---------------+ | COLUMN_NAME | COLUMN_TYPE | +-----------------+---------------+ | Id | int(11) | | ClientName | varchar(60) | | ClientAge | int(11) | | ClientSalary | decimal(10,4) | | isRegularClient | tinyint(1) | +-----------------+---------------+
অন্যান্য উপযোগী কলাম: IS_NULLABLE, COLUMN_KEY (PRI/UNI/MUL), COLUMN_DEFAULT, EXTRA (auto_increment), CHARACTER_SET_NAME, COLLATION_NAME।