MySQL-এ টেবিলের কলাম নামগুলো লোয়ারকেস (ছোট হাতের অক্ষর) এ দেখাতে INFORMATION_SCHEMA.COLUMNS টেবিল এবং LOWER() ফাংশন ব্যবহার করা হয়।
টেবিল তৈরি
mysql> CREATE TABLE DemoTable (
-> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> UserFirstName VARCHAR(20),
-> UserLastName VARCHAR(20),
-> UserAge INT,
-> UserCountryName VARCHAR(20)
-> );
টেবিল কাঠামো (মুল - মিক্সড কেস)
mysql> DESC DemoTable;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
| UserId | int(11) | NO | PRI | NULL | auto_increment |
| UserFirstName | varchar(20) | YES | | NULL | |
| UserLastName | varchar(20) | YES | | NULL | |
| UserAge | int(11) | YES | | NULL | |
| UserCountryName | varchar(20) | YES | | NULL | |
+-----------------+-------------+------+-----+---------+----------------+
কলাম নাম লোয়ারকেসে দেখানো
mysql> SELECT LOWER(COLUMN_NAME)
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_NAME = 'DemoTable';
ফলাফল
+--------------------+
| LOWER(COLUMN_NAME) |
+--------------------+
| userid |
| userfirstname |
| userlastname |
| userage |
| usercountryname |
+--------------------+
ব্যবহার ক্ষেত্র:
- ডাইনামিক SQL জেনারেট করার সময়
- কেস-ইনসেনসিটিভ কম্পারিশন
- কোড জেনারেশন টুলে
- মাইগ্রেশন স্ক্রিপ্টে
অতিরিক্ত ইনফো পাওয়ার জন্য
SELECT
LOWER(COLUMN_NAME) AS column_name,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
IS_NULLABLE,
COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'DemoTable'
AND TABLE_SCHEMA = DATABASE();
নোট: TABLE_SCHEMA = DATABASE() ক্লজটি বর্তমান ডেটাবেসের টেবিল নিশ্চিত করতে সাহায্য করে (একই নামে একাধিক ডেটাবেসে টেবিল থাকতে পারে)।