এটি INFORMATION_SCHEMA.COLUMNS টেবিল ব্যবহার করে করা যায়।
সিনট্যাক্স
SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `',
LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') AS anyAliasName
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'yourDatabaseName';
উদাহরণ দিয়ে বুঝি
ডাটাবেস: bothinnodbandmyisam (দুটি টেবিল: employee, student)
employee টেবিলের বর্তমান কলাম (বড় হাতের অক্ষরে)
mysql> DESC employee;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| EmployeeId | int(11) | YES | | NULL | |
| EmployeeName | varchar(30) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
student টেবিলের বর্তমান কলাম
mysql> DESC student;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| StudentId | int(11) | YES | | NULL | |
| StudentName | varchar(20) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
কলাম নামগুলো lowercase-এ রূপান্তরের কোয়েরি জেনারেট করুন
mysql> SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME,
-> '` `', LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') AS changeColumnNameToLower
-> FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'bothinnodbandmyisam';
+------------------------------------------------------------------------+
| changeColumnNameToLower |
+------------------------------------------------------------------------+
| ALTER TABLE employee CHANGE `EmployeeId` `employeeid` int(11); |
| ALTER TABLE employee CHANGE `EmployeeName` `employeename` varchar(30); |
| ALTER TABLE student CHANGE `StudentId` `studentid` int(11); |
| ALTER TABLE student CHANGE `StudentName` `studentname` varchar(20); |
+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
উপরের আউটপুট থেকে পাওয়া ALTER TABLE কোয়েরিগুলো রান করলে সব কলামের নাম ছোট হাতের অক্ষরে রূপান্তরিত হয়ে যাবে।
সতর্কতা: প্রোডাকশন ডাটাবেসে রান করার আগে ব্যাকআপ নিন এবং কেস-সেনসিটিভিটি সমস্যা পরীক্ষা করুন।