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

MySQL-এ INFORMATION_SCHEMA দিয়ে কলাম নাম লোয়ারকেসে দেখানো

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() ক্লজটি বর্তমান ডেটাবেসের টেবিল নিশ্চিত করতে সাহায্য করে (একই নামে একাধিক ডেটাবেসে টেবিল থাকতে পারে)।

  1. MySQL-এ একক কোয়েরি দিয়ে সকল কলামের নাম ছোট হাতের অক্ষরে রূপান্তর করা

  2. MySQL-এ একটি ফিল্ড সিলেক্ট করুন, যদি NULL হয় তবে অন্যটি সিলেক্ট করুন

  3. MySQL-এ তিনটি কলাম থেকে আলাদা মান বের করে একই কলামে প্রদর্শন করা

  4. MySQL-এ NULL মানযুক্ত কলামকে গুন করার সমস্যা সমাধান (COALESCE)