MySQL-এ INFORMATION_SCHEMA.COLUMNS টেবিল থেকে কলামের নামের দৈর্ঘ্য (length) ৫-এর বেশি হলে সেগুলো ফিল্টার করতে HAVING ক্লজ ব্যবহার করা হয়।
কোয়েরি
SELECT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE CHAR_LENGTH(COLUMN_NAME) > 5;
নোট: আপনার দেওয়া আউটপুটে ৫৫টি রো দেখানো হয়েছে, যা বর্তমান ডেটাবেসের সব টেবিলের কলামগুলো। নিচে কিছু উদাহরণ দেওয়া হলো:
ফলাফল (আংশিক)
+-------------------+-------------------------+
| TABLE_NAME | COLUMN_NAME |
+-------------------+-------------------------+
| DemoTable | StudentId |
| DemoTable | StudentFirstName |
| DemoTable | StudentLastName |
| DemoTable | StudentFavouriteSubject |
| DemoTable | StudentCountryName |
| DemoTable | CustomerAllProductPrice |
| DemoTable | CustomerProductName |
| DemoTable | CustomerProductQuantity |
| DemoTable | CustomerPrice |
| ... | ... |
+-------------------+-------------------------+
55 rows in set (0.01 sec)
ব্যাখ্যা
CHAR_LENGTH(COLUMN_NAME)- কলামের নামের ক্যারেক্টার কাউন্ট রিটার্ন করে> 5- ৫ অক্ষরের চেয়ে বড় নামগুলো ফিল্টার করেStudentFirstName(১৬ ক্যারেক্টার),CustomerAllProductPrice(২৩ ক্যারেক্টার) ইত্যাদি সিলেক্ট হয়েছে
উন্নত কোয়েরি: টেবিল বাই গ্রুপ করিয়ে কাউন্ট
SELECT TABLE_NAME, COUNT(*) AS long_columns_count
FROM INFORMATION_SCHEMA.COLUMNS
WHERE CHAR_LENGTH(COLUMN_NAME) > 5
GROUP BY TABLE_NAME
ORDER BY long_columns_count DESC;
নির্দিষ্ট ডেটাবেসের জন্য
SELECT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_database_name'
AND CHAR_LENGTH(COLUMN_NAME) > 5;
টিপস: নেমিং কনভেনশন চেক করতে বা বড় কলাম নাম সনাক্ত করতে এই কোয়েরি উপকারী।