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

MySQL ডেটাবেস থেকে ফিল্ড নাম ও টাইপ বের করা


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।

  1. MySQL-এ FIELD() এবং FIND_IN_SET() ফাংশনের পার্থক্য কী?

  2. MySQL-এ VARCHAR থেকে INT-এ কাস্ট (CAST) করার পদ্ধতি

  3. MySQL ডেটাবেসের টেবিল গুলোর সাইজ জানার পদ্ধতি

  4. MySQL Workbench-এ সার্ভার থেকে ER মডেল জেনারেট করা