- 1 1. හැඳින්වීම
- 2 2. තීරු ලැයිස්තුගත කිරීමේ මූලික ක්රම
- 3 සාරාංශය
- 4 3. උසස්: කොන්දේසි භාවිතයෙන් තීරු සොයන්න
- 5 Summary
- 6 4. ස්වයංක්රිය කිරීම: ස්ක්රිප්ට් භාවිතයෙන් තීරු ලැයිස්තු ලබා ගැනීම
- 7 සාරාංශය
- 8 5. දෝෂ කළමනාකරණය: අවසර දෝෂ සකස් කිරීමේ ක්රම
- 9 සාරාංශය
- 10 6. GUI මෙවලම් භාවිතා කරමින් වර්ගීකරණ ලැයිස්තු පරීක්ෂා කිරීමේ ක්රම
- 11 සාරාංශ
- 12 7. සාමාන්ය ප්රශ්න (Frequently Asked Questions)
- 13 සාරාංශය
- 14 8. අවසාන සාරාංශය
- 14.1 8-1. සම්පූර්ණ දළ විශ්ලේෂණය: MySQL හි කොලම් ලැයිස්තුගත කිරීම ක්රමය
- 14.2 8-2. කොලම් තොරතුරු ලබාගැනීමේ උසස් ක්රම
- 14.3 8-3. ස්වයංක්රීයකරණය සහ දෝෂ කළමනාකරණය
- 14.4 8-4. GUI මෙවලම් භාවිතා කරමින් කොලම් ලැයිස්තු පරීක්ෂා කිරීම
- 14.5 8-5. FAQ ඉස්මතු කිරීම්
- 14.6 8-6. වඩා කාර්යක්ෂම දත්ත සමුදාය කළමනාකරණය සඳහා ඉඟි
- 15 සාරාංශය සහ මීළඟ පියවර
1. හැඳින්වීම
MySQL සමඟ දත්ත ගබඩා නිර්මාණය සහ කළමනාකරණය කරන විට, වගුවේ තීරු ලැයිස්තුව ලබා ගැනීම කෙරෙහි දැනීම අත්යවශ්ය වේ.
තීරු ලැයිස්තුව පරීක්ෂා කිරීමෙන්, ඔබට වගුවේ ව්යුහය පහසුවෙන් අවබෝධ කරගත හැකි අතර, දත්ත සමගිත්වය රැක ගැනීමට සහ සුදුසු විමසුම් නිර්මාණය කිරීමට උපකාරී වේ.
විශේෂයෙන්, පහත සඳහන් තත්ත්වයන්හි ඔබට තීරු ලැයිස්තුව ලබා ගැනීමට අවශ්ය විය හැක:
- දත්ත ගබඩා ව්යුහය පරීක්ෂා කරන විට
- නව තීරු එකතු කිරීම හෝ මකා දැමීමේදී
- පවත්නා තීරු නාමයන් හෝ දත්ත වර්ග තහවුරු කරන විට
- විශේෂිත තීරුවක් අඩංගු වගු සොයන විට
- ඔබේ යෙදුමේ වගු ගතිකව සැකසීමේදී
මෙම ලිපියේ, අපි MySQL තීරු ලැයිස්තුගත කිරීමේ ක්රම විස්තරාත්මකව, මූලික සිට උසස් තාක්ෂණයන් දක්වා පැහැදිලි කරමු.
අපි SQL ක්රියාත්මක කිරීමේ උදාහරණ, ස්වයංක්රීය ස්ක්රිප්ට්, සහ දෝෂ හසුරුවීම වැනි ප්රායෝගික අන්තර්ගතයද ඇතුළත් කර ඇති බැවින්, ආරම්භකයන් සිට මධ්යම පරිශීලකයන් දක්වා විවිධ පාඨකයන්ට ප්රයෝජනවත් වේ.
2. තීරු ලැයිස්තුගත කිරීමේ මූලික ක්රම
MySQL තීරු ලැයිස්තුව ලබා ගැනීමට විවිධ ක්රම ලබා දේ. සාමාන්යතම ක්රම දෙක වන SHOW COLUMNS සහ DESCRIBE භාවිත කිරීමයි.
2-1. SHOW COLUMNS භාවිතයෙන් තීරු ලබා ගැනීම
MySQL හි වගුවක තීරු ලැයිස්තුව ලබා ගැනීමට අති සරල ක්රමය SHOW COLUMNS ප්රකාශනය භාවිත කිරීමයි.
භාවිතය
SHOW COLUMNS FROM table_name;
විකල්පයක් ලෙස, FROM වෙනුවට IN භාවිත කළ හැක.
SHOW COLUMNS IN table_name;
ඔබට ලබා ගත හැකි තොරතුරු
SHOW COLUMNS ක්රියාත්මක කරන විට, පහත පරිදි තොරතුරු ලබා ගත හැක.
| Column Name (Field) | Data Type (Type) | Allows NULL (Null) | Key (Key) | Default Value (Default) | Other (Extra) |
|---|---|---|---|---|---|
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | NULL | ||
| age | int(3) | YES | NULL |
උදාහරණය
උදාහරණයක් ලෙස, users වගුවේ තීරු ලැයිස්තුව ලබා ගැනීමට, පහත SQL ක්රියාත්මක කරන්න.
SHOW COLUMNS FROM users;
ප්රතිඵලය:
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255)| YES | | NULL | |
| age | int(3) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
SHOW COLUMNS හි වාසි සහ අවාසි
✅ Pros
- සරල සහ භාවිතයට පහසු
- වගුවේ ව්යුහය ඉක්මනින් අවබෝධ කර ගැනීමට උපකාරී
❌ Cons
- නිශ්චිත තීරු පමණක් ලබා ගැනීම අමාරු
WHEREකොටස භාවිතයෙන් ප්රතිඵල පෙරහන් කළ නොහැක
2-2. DESCRIBE භාවිතයෙන් තීරු ලබා ගැනීම
DESCRIBE ප්රකාශනය SHOW COLUMNS සමඟ සමාන ක්රියාකාරිත්වය ලබා දේ.
භාවිතය
DESCRIBE table_name;
උදාහරණයක් ලෙස, users වගුවේ තීරු තොරතුරු ලබා ගැනීමට:
DESCRIBE users;
ප්රතිඵලය:
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255)| YES | | NULL | |
| age | int(3) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
DESCRIBE සහ SHOW COLUMNS අතර වෙනස
DESCRIBE යනු SHOW COLUMNS හි අන්වර්ථ නාමයක් වන අතර, ප්රතිඵල මූලිකව එකසේ වේ.
කෙසේ වෙතත්, SHOW COLUMNS තවත් විස්තරාත්මක විකල්ප සහාය දක්වන බැවින් ටිකක් වඩා හොඳයි.
2-3. MySQL Workbench හෝ phpMyAdmin සමඟ තීරු ලැයිස්තු පරීක්ෂා කිරීම
ඔබට විධාන පේළිය වෙනුවට GUI මෙවලම් භාවිතයෙන් තීරු ලැයිස්තුව පරීක්ෂා කළ හැක.
✅ MySQL Workbench හි, වගුවක් මත දකුණු-ක්ලික් කර “Show Table Structure” තෝරන්න
✅ phpMyAdmin හි, ඉලක්ක වගුව මත ක්ලික් කර “Structure” ටැබ් යටතේ ලැයිස්තුව පරීක්ෂා කරන්න
ඔබ CLI සමඟ සුවපහසු නොවන්නේ නම්, GUI මෙවලම් ඔබට වැඩ කිරීම තේරුම්ගත හැකි ලෙස උපකාරී වේ.
සාරාංශය
මෙම ලිපියේ, අපි MySQL හි තීරු ලැයිස්තුගත කිරීමේ මූලික ක්රම ගැන, SHOW COLUMNS සහ DESCRIBE මත අවධානය යොමු කර සලකා බැලුවෙමු.
ප්රධාන සාරාංශ
✔ SHOW COLUMNS යනු තීරු ලැයිස්තුගත කිරීමේ සාමාන්යම ක්රමයයි
✔ DESCRIBE SHOW COLUMNS සමඟ සමාන ප්රතිඵලයක් ලබා දෙයි
✔ GUI මෙවලම් (MySQL Workbench, phpMyAdmin) භාවිතයෙන්ත් තීරු ලැයිස්තු පරීක්ෂා කළ හැකිය

3. උසස්: කොන්දේසි භාවිතයෙන් තීරු සොයන්න
SHOW COLUMNS සහ DESCRIBE පහසුය, නමුත් විශාල සංඛ්යාවක වගු හෝ තීරු සමඟ වැඩ කරන විට,
ඔබට වඩා ස flexibil සෙවීම අවශ්ය විය හැක.
එවැනි අවස්ථාවල, INFORMATION_SCHEMA භාවිතය ඉතා ප්රයෝජනවත් වේ.
මෙහිදී, සම්පූර්ණ දත්ත ගබඩාවක් තුළ තීරු ලැයිස්තුවක් ලබා ගැනීම සහ විශේෂිත තීරුවක් අඩංගු වගු සොයා ගැනීම පිළිබඳව අපි විස්තර කරමු.
3-1. දත්ත ගබඩාවේ සියලු වගු සඳහා තීරු ලැයිස්තුව ලබා ගන්න
MySQL විසින් INFORMATION_SCHEMA.COLUMNS නමින් පද්ධති දර්ශනයක් ලබා දේ.
එය භාවිතා කිරීමෙන්, ඔබට සම්පූර්ණ දත්ත ගබඩාවක් සඳහා තීරු තොරතුරු ලබා ගත හැක.
SQL ව්යවස්ථාව
SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = 'database_name';
උදාහරණය
උදාහරණයක් ලෙස, my_database හි සියලු වගු නාම සහ තීරු නාම ලබා ගැනීමට:
SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = 'my_database';
ප්රතිඵල
+------------+--------------+
| table_name | column_name |
+------------+--------------+
| users | id |
| users | name |
| users | email |
| orders | id |
| orders | user_id |
| orders | total_price |
+------------+--------------+
මෙය ඔබට කොන වගුවේ කොන තීරුවක් ඇත යන්න තත්ක්ෂණිකව දැක ගැනීමට පහසු කරයි.
3-2. විශේෂිත තීරුවක් අඩංගු වගු සොයා ගන්න
ඔබට විශේෂිත තීරුවක් අඩංගු වගු පමණක් සෙවීමට අවශ්ය නම්,
INFORMATION_SCHEMA.COLUMNS භාවිතයෙන් ඒක කළ හැක.
SQL ව්යවස්ථාව
SELECT table_name
FROM information_schema.columns
WHERE column_name = 'column_name'
AND table_schema = 'database_name';
උදාහරණය
උදාහරණයක් ලෙස, my_database හි email තීරුව අඩංගු වගු සොයා ගැනීමට:
SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';
ප්රතිඵල
+------------+
| table_name |
+------------+
| users |
| customers |
+------------+
මෙය email තීරුව users වගුවේ සහ customers වගුවේ පවතින බව පෙන්වයි.
3-3. විස්තරාත්මක තීරු තොරතුරු ලබා ගන්න
INFORMATION_SCHEMA.COLUMNS සමඟ, ඔබට දත්ත වර්ගය, NULL ඉඩදීම, සහ පෙරනිමි අගයන් වැනි විස්තරත් ලබා ගත හැක.
SQL ව්යවස්ථාව
SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'table_name'
AND table_schema = 'database_name';
උදාහරණය
උදාහරණයක් ලෙස, users වගුවේ එක් එක් තීරුව සඳහා විස්තරාත්මක තොරතුරු ලබා ගැනීමට:
SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'users'
AND table_schema = 'my_database';
ප්රතිඵල
+-------------+-----------+------------+--------------+
| column_name | data_type | is_nullable | column_default |
+-------------+-----------+------------+--------------+
| id | int | NO | NULL |
| name | varchar | YES | NULL |
| email | varchar | YES | NULL |
| age | int | YES | NULL |
+-------------+-----------+------------+--------------+
3-4. INFORMATION_SCHEMA භාවිතයේ ප්රතිලාභ සහ සටහන්
ප්රතිලාභ
✅ ඔබට සම්පූර්ණ දත්ත ගබඩාවක් සඳහා තීරු තොරතුරු ලබා ගත හැක (SHOW COLUMNS සමඟ, ඔබට එක් වගුවක් පමණක් ලබා ගත හැක)
✅ ඔබට SQL විමසුම් භාවිතයෙන් නිදහස්ව පෙරහන් කළ හැක (ඔබට WHERE වාක්යයක් භාවිතයෙන් විශේෂිත තීරු පමණක් ලබා ගත හැක)
✅ ඔබට JOIN භාවිතා කර අනෙකුත් තොරතුරු සමඟ එකතු කළ හැක
සටහන්
⚠ විශාල දත්ත සමුදා වල, විමසුම් මන්දගාමී විය හැක
⚠ ඔබ ඉලක්ක දත්ත සමුදාය සඳහා table_schema නියම නොකරන්නේ නම්, අත්යවශ්ය නොවන තොරතුරු ඇතුළත් විය හැක
Summary
මෙම කොටසේ, අපි INFORMATION_SCHEMA.COLUMNS භාවිතා කර සම්පූර්ණ දත්ත සමුදායක් තුළ තීරුවේ ලැයිස්තුව ලබා ගැනීම සහ විශේෂිත තීරුවක් අඩංගු වගු සොයා ගැනීම පැහැදිලි කර ඇත.
Key Takeaways
✔ INFORMATION_SCHEMA.COLUMNS සමඟ, ඔබට සම්පූර්ණ වගුවකට වඩා විශේෂිත තීරු සොයාගත හැක.
✔ SHOW COLUMNS සමඟ සසඳන විට, එය SQL විමසුම් මගින් නිදහස් පෙරහන් කිරීම සක්රිය කරයි.
✔ ඔබට විස්තරාත්මක තීරු තොරතුරු (දත්ත වර්ගය, NULL ඉඩ, පෙරනිමි අගයන්, ආදිය) ලබාගත හැක.
✔ විශාල දත්ත සමුදා සඳහා, කාර්ය සාධනයට අවධානය යොමු කළ යුතුය.
4. ස්වයංක්රිය කිරීම: ස්ක්රිප්ට් භාවිතයෙන් තීරු ලැයිස්තු ලබා ගැනීම
ඔබට SHOW COLUMNS හෝ INFORMATION_SCHEMA භාවිතා කර තීරු ලැයිස්තු අතින් ලබාගත හැකි නමුත්, සෑම වරක්ම SQL ක්රියාත්මක කිරීම අසීරු බවක් හැඟිය හැක.
විශේෂයෙන්, තීරු ලැයිස්තු ස්වයංක්රිය ලබා ගැනීම පහත සඳහන් අවස්ථා වල ප්රයෝජනවත් වේ:
- ඔබ දත්ත සමුදා ව්යුහයේ වෙනස්කම් නිරීක්ෂණය කිරීමට අවශ්ය වන විට
- ඔබට වාරිකව තීරු ලැයිස්තු ලියාගත හැකි ලෙස සකස් කර, ව්යුහ වෙනස්කම් ඉතිහාසය කළමනාකරණය කිරීමට අවශ්ය වන විට
- ඔබට අනෙකුත් පද්ධති සමඟ ඒකාබද්ධ කර, තීරු තොරතුරු ගතිකව ලබා ගැනීමට අවශ්ය වන විට
මෙම කොටස Python හෝ Shell ස්ක්රිප්ට් භාවිතයෙන් MySQL තීරු ලැයිස්තු ස්වයංක්රිය ලබා ගැනීම පිළිබඳව පැහැදිලි කරයි.
4-1. Python සමඟ තීරු ලැයිස්තු ලබා ගැනීම
Python හි mysql-connector-python නමැති පුස්තකාලයක් ඇත. එය භාවිතා කර MySQL සම්බන්ධ වී තීරු ලැයිස්තු ලබාගත හැක.
Python ස්ක්රිප්ට් සූදානම් කරන්න
පුස්තකාලය ස්ථාපනය කර නොමැති නම්, පහත කමාන්ඩ් එකෙන් ස්ථාපනය කරන්න.
pip install mysql-connector-python
Python ස්ක්රිප්ට්
ඊළඟට, පහත ස්ක්රිප්ට් එක සාදන්න. මෙම ස්ක්රිප්ට් එක විශේෂිත වගුවක් සඳහා තීරු ලැයිස්තුව ලබාගෙන මුද්රණය කරයි.
import mysql.connector
# Configure MySQL connection settings
config = {
'user': 'your_user',
'password': 'your_password',
'host': 'localhost',
'database': 'your_database'
}
# Connect to MySQL
conn = mysql.connector.connect(**config)
cursor = conn.cursor()
# Table name to retrieve
table_name = "users"
# Retrieve column list
query = f"SELECT column_name FROM information_schema.columns WHERE table_name = '{table_name}' AND table_schema = '{config['database']}'"
cursor.execute(query)
# Print results
columns = cursor.fetchall()
print(f"Column list for [{table_name}]:")
for column in columns:
print(column[0])
# Close connection
cursor.close()
conn.close()
ස්ක්රිප්ට් එක ධාවනය කරන්න
ඔබ ස්ක්රිප්ට් එක ධාවනය කරන විට, එය පහත පරිදි තීරු ලැයිස්තුවක් මුද්රණය කරයි.
Column list for [users]:
id
name
email
age
4-2. Shell ස්ක්රිප්ට් (Bash) සමඟ තීරු ලැයිස්තු ලබා ගැනීම
Python භාවිතා නොකර Shell ස්ක්රිප්ට් (Bash) මගින්ද තීරු ලැයිස්තුව ලබාගත හැක. Linux පරිසර සහ සේවාදායක පරිපාලනයේ, මෙය වේගවත් සහ පහසු විකල්පයක් වේ.
Shell ස්ක්රිප්ට් සූදානම් කරන්න
පහත පරිදි ස්ක්රිප්ට් එකක් සාදමින් mysql_columns.sh ලෙස සුරකින්න.
#!/bin/bash
DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"
# Retrieve column list using the MySQL command
mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME' AND table_schema = '$DB_NAME';"
ධාවනය කරන ආකාරය
ක්රියාත්මක කිරීමේ අවසර ලබා දී ධාවනය කරන්න.
chmod +x mysql_columns.sh
./mysql_columns.sh
ප්රතිඵලය
column_name
id
name
email
age
මෙම ක්රමය ඔබට Linux සේවාදායකයක තීරු ලැයිස්තු ඉක්මනින් ලබා ගැනීමට ඉඩ සලසයි.
4-3. වාරිකව තීරු ලැයිස්තු ලබාගෙන සුරකින්න (Cron Job)
ස්ක්රිප්ට් අතින් ධාවනය කිරීම වෙනුවට, ඔබට වාරිකව තීරු ලැයිස්තු ලබාගෙන ගොනුවකට සුරකින්න හැක. උදාහරණයක් ලෙස, දිනකට එක් වරක් තීරු ලැයිස්තුව ලොග් කර, ව්යුහ වෙනස්කම් නිරීක්ෂණය කළ හැක.
පියවරයන්
- Python ස්ක්රිප්ට් එකක් හෝ Shell ස්ක්රිප්ට් එකක් සාදන්න (ඉහතවල භාවිතා කරන්න)
- ප්රතිඵලය ගොනුවකට සුරකින්න
- cron රැකියාවක් සැකසීම
ප්රතිඵලය සුරකින්නා වූ උදාහරණ Shell ස්ක්රිප්ට්
#!/bin/bash
DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"
OUTPUT_FILE="/path/to/logs/${TABLE_NAME}_columns_$(date +\%Y\%m\%d).txt"
# Retrieve column list and save to a file
mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME' AND table_schema = '$DB_NAME';" > $OUTPUT_FILE
cron රැකියාව සැකසීම
cron වින්යාසය විවෘත කිරීමට පහත කමාන්ඩ් එක ක්රියාත්මක කරන්න.
crontab -e
ඊළඟට පහත රේඛාව එකතු කරන්න. (දිනපතා පෙ.ව. 3:00 ට ක්රියා කරයි.)
0 3 * * * /path/to/mysql_columns.sh
මෙය දිනපතා තීරුව ලැයිස්තු ලබාගෙන ඒවා ගොනුවකට සුරකින්නා වූ ස්වයංක්රීය ක්රියාවලිය සක්රිය කරයි.
සාරාංශය
මෙම කොටසේ, අපි ස්ක්රිප්ට් භාවිතයෙන් MySQL තීරුව ලැයිස්තු ස්වයංක්රීයව ලබා ගැනීම පිළිබඳව පැහැදිළි කළෙමු.
ප්රධාන ග්රහණයන්
✔ Python ස්ක්රිප්ට් (MySQL Connector භාවිතා කර) මඟින් තීරුව ලැයිස්තු ලබා ගත හැක
✔ MySQL විධානය භාවිතා කර Shell ස්ක්රිප්ට් මඟින්ද ඒවා ලබා ගත හැක
✔ cron රැකියා භාවිතා කර තීරුව ලැයිස්තු නියමිතව ලොග් කරගත හැක
✔ මෙය දත්ත ගබඩා සැකැස්ම වෙනස්වීම් ඉතිහාසය නිරීක්ෂණය කිරීමට ප්රයෝජනවත්
ඊළඟ ලිපියේ, අපි “දෝෂ ඇති වූ විට ඒවා සකස් කිරීමේ ක්රම” පිළිබඳව පැහැදිළි කරමු.
ඔබට SHOW COLUMNS හෝ INFORMATION_SCHEMA ක්රියාත්මක කිරීමේදී ඇති වන අවසර දෝෂ සහ ඒවා සකස් කිරීම ගැන ඉගෙන ගැනීමට අවශ්ය නම්, ඊළඟ කොටසද බලන්න!
5. දෝෂ කළමනාකරණය: අවසර දෝෂ සකස් කිරීමේ ක්රම
MySQL හි SHOW COLUMNS හෝ INFORMATION_SCHEMA භාවිතා කර තීරුව ලැයිස්තු ලබා ගත විට, “අවසර ප්රතික්ෂේපිතයි” වැනි දෝෂ මුණගැසිය හැක.
මෙම කොටස සාමාන්ය හේතු සහ විසඳුම් පැහැදිළි කරයි.
5-1. SHOW COLUMNS සමඟ දෝෂයක් ලැබුනහොත්
SHOW COLUMNS ක්රියාත්මක කරන විට, පහත වැනි දෝෂයක් පෙනෙන්නට හැක.
ERROR 1142 (42000): SELECT command denied to user 'user'@'localhost' for table 'users'
හේතුව
මෙම දෝෂය පවතින්නේ පරිශීලකයාට ඇතුළත් වගුවේ SELECT අවසර නොමැති නිසාය. SHOW COLUMNS සඳහා SELECT අවසර අවශ්ය වේ.
විසඳුම
පරිපාලක (root) ලෙස ලොග් වෙලා ඉලක්ක පරිශීලකයාට SELECT අවසර ලබා දෙන්න.
GRANT SELECT ON your_database.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
ඊළඟට, SHOW COLUMNS ක්රියාත්මක විය යුතුය.
5-2. INFORMATION_SCHEMA සමඟ දෝෂයක් ලැබුනහොත්
INFORMATION_SCHEMA භාවිතා කර විමසුමක් ක්රියාත්මක කරන විට, පහත වැනි දෝෂයක් පෙනෙන්නට හැක.
ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)
හේතුව
INFORMATION_SCHEMA විමසීමට SELECT අවසරය පමණක් නොව INFORMATION_SCHEMA වෙත ප්රවේශ අවසරද අවශ්ය විය හැක.
විසඳුම
පහත විධාන භාවිතා කර INFORMATION_SCHEMA වෙත ප්රවේශය ලබා දෙන්න.
GRANT SELECT ON information_schema.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
මෙය INFORMATION_SCHEMA.COLUMNS වෙත ප්රවේශය සක්රිය කරයි.
5-3. root පරිශීලකයා ලෙසද දෝෂ ලැබුනහොත්
කීප පරිසරවල, root පරිශීලකයාටත් SHOW COLUMNS හෝ INFORMATION_SCHEMA වෙත සීමිත ප්රවේශයක් තිබිය හැක. එවැනි අවස්ථාවක, අවසර පරීක්ෂා කරන්න.
අවසර පරීක්ෂා කිරීමේ ක්රමය
SHOW GRANTS FOR 'root'@'localhost';
ALL PRIVILEGES ලබා නොදී ඇත්නම්, පහත පරිදි සකස් කළ හැක:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
5-4. MySQL 8.0 හි අවසර වෙනස්කම්
MySQL 8.0 හි, සමහර පෙරනිමි අවසර සැකසුම් වෙනස් වී ඇත. විශේෂයෙන්, INFORMATION_SCHEMA වෙත ප්රවේශය පෙරනිමියෙන් සීමා කර ඇති බැවින් දෝෂ ඇති විය හැක.
විසඳුම
MySQL 8.0 හි, mysql දත්ත ගබඩාවේ SELECT අවසරය ලබා දිය යුතු විය හැක.
GRANT SELECT ON mysql.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
මෙය MySQL 8.0 හිද INFORMATION_SCHEMA විමසුම් ක්රියාත්මක වීමට ඉඩ සලසයි.
5-5. MySQL Workbench “Access denied” එක පෙන්වන්නේ නම්
MySQL Workbench හි SHOW COLUMNS ක්රියාත්මක කිරීමේදී, ඔබට මෙවැනි දෝෂ පණිවිඩයක් දැකිය හැක:
Error: Access denied; you need (at least one of) the SELECT privilege(s) for this operation
විසඳුම
MySQL Workbench හි, GUI හරහා වරප්රමාණයන් ලබා දිය හැක.
- “Administration” → “Users and Privileges” විවෘත කරන්න
- ඉලක්ක පරිශීලකයා තෝරන්න
- “Schema Privileges” ටැබ්හි,
SELECTවරප්රමාණය ලබා දෙන්න - “Apply” ක්ලික් කරන්න සුරකින්න
මෙය MySQL Workbench හට වර්ගීකරණ ලැයිස්තුව සාර්ථකව ලබා ගැනීමට ඉඩ සලසයි.
සාරාංශය
මෙම කොටසේදී, අපි MySQL හි SHOW COLUMNS සහ INFORMATION_SCHEMA ක්රියාත්මක කිරීමේදී දෝෂ troubleshoot කිරීමේ ක්රම පැහැදිලි කළෙමු.
ප්රධාන ඉගෙනීම්
✔ SHOW COLUMNS දෝෂ සාමාන්යයෙන් SELECT වරප්රමාණයන් නොමැති වීම නිසා ඇති වේ → GRANT SELECT භාවිතා කරන්න සඳහා
✔ INFORMATION_SCHEMA දෝෂ සාමාන්යයෙන් information_schema.* වෙත ප්රවේශය නොමැති වීම නිසා ඇති වේ → GRANT SELECT ON information_schema.* භාවිතා කරන්න සඳහා
✔ MySQL 8.0 හි, ඔබට mysql.* මත වරප්රමාණයන් ද අවශ්ය විය හැක
✔ MySQL Workbench වරප්රමාණ දෝෂ GUI හරහා සකස් කළ හැක
6. GUI මෙවලම් භාවිතා කරමින් වර්ගීකරණ ලැයිස්තු පරීක්ෂා කිරීමේ ක්රම
අපි දැනට SQL පණිවිඩ භාවිතා කරමින් වර්ගීකරණ ලැයිස්තු ලබා ගැනීමේ ක්රම හඳුන්වා දුන්නෙමු, නමුත්
GUI (Graphical User Interface) මෙවලම් භාවිතා කරමින්, ඔබට වර්ගීකරණ දෘශ්යමය වශයෙන් තහවුරු කළ හැක.
GUI මෙවලම් විශේෂයෙන් යෞතුකථා වගේ තත්ත්වයන්හි භාවිතා වේ:
- SQL සමඟ පරිච්ඡේද නොකළ පරිශීලකයින් දත්තගබඩා ව්යුහය සංවේදීව පරීක්ෂා කිරීමට අවශ්ය වන විට
- ඔබට වේගයෙන් වගුවක වර්ගීකරණ ලැයිස්තුව පරීක්ෂා කිරීමට අවශ්ය වන විට
- ඔබට වර්ගීකරණ දත්ත වර්ග සහ සීමාවන් වේගයෙන් තේරුම් ගැනීමට අවශ්ය වන විට
මෙම කොටස MySQL Workbench සහ phpMyAdmin වැනි නියෝජිත GUI මෙවලම් භාවිතා කරමින් වර්ගීකරණ ලැයිස්තු පරීක්ෂා කිරීමේ ක්රම පැහැදිලි කරයි.
6-1. MySQL Workbench හි වර්ගීකරණ ලැයිස්තු පරීක්ෂා කිරීම
MySQL Workbench කුමක්ද?
MySQL Workbench යනු MySQL හි නිල දත්තගබඩා කළමනාකරණ මෙවලම වන අතර, එය GUI හරහා වගු සහ වර්ගීකරණ තොරතුරු දෘශ්යමය වශයෙන් කළමනාකරණය කිරීමට ඉඩ සලසන පහසු මෙවලමකි.
වර්ගීකරණ ලැයිස්තුව පරීක්ෂා කිරීමේ පියවර
- MySQL Workbench ආරම්භ කරන්න
- ඔබේ MySQL සේවාදායකයට සම්බන්ධ වන්න
- “Local Instance MySQL” හෝ ඔබ සකස් කළ සම්බන්ධතාවය තෝරන්න
- “Schemas” ටැබ් විවෘත කරන්න
- ඉලක්ක දත්තගබඩාව (උදා: my_database) විස්තාරණය කරන්න
- ඔබ පරීක්ෂා කිරීමට අවශ්ය වගුව (උදා: users) දක්වා දකුණු ක්ලික් කරන්න
- “Table Inspector” තෝරන්න
- “Columns” ටැබ් විවෘත කරන්න
වර්ගීකරණ ලැයිස්තුවේ ඔබ දකින දේ
“Columns” ටැබ්හි, ඔබට පහත ආකාරයේ තොරතුරු දැකිය හැක.
| Column Name | Data Type | Allows NULL | Primary Key | Default Value | Additional Info |
|---|---|---|---|---|---|
| id | INT | NO | PRI | AUTO_INCREMENT | |
| name | VARCHAR(255) | YES | NULL | ||
| VARCHAR(255) | YES | UNI | NULL | ||
| age | INT | YES | NULL |
✅ SQL ක්රියාත්මක නොකරම වර්ගීකරණ විස්තර සංවේදීව පරීක්ෂා කළ හැක
✅ ඔබට වගු සමඟ සූචක සහ සීමාවන් ද පරීක්ෂා කළ හැක
6-2. phpMyAdmin හි වර්ගීකරණ ලැයිස්තු පරීක්ෂා කිරීම
phpMyAdmin කුමක්ද?
phpMyAdmin යනු බ්රව්සරයක MySQL කළමනාකරණය කිරීමට ඉඩ සලසන මෙවලමකි.
එය සමාන බෙදාහරින්නා hosting සහ ඒ වැනි පරිසරවල අත්වාරයෙන් ලබා දෙන බැවින්, භාවිතා කිරීම පහසුය.
වර්ගීකරණ ලැයිස්තුව පරීක්ෂා කිරීමේ පියවර
- phpMyAdmin වෙත ලොග් වන්න
- වම් මෙනුවෙන් ඉලක්ක දත්තගබඩාව තෝරන්න
- ඔබ පරීක්ෂා කිරීමට අවශ්ය වගුව ක්ලික් කරන්න
- “Structure” ටැබ් විවෘත කරන්න
වර්ගීකරණ ලැයිස්තුවේ ඔබ දකින දේ
“Structure” ටැබ්හි, වගුවේ වර්ගීකරණ තොරතුරු වගු ආකෘතියකින් පෙන්වයි.
| Column Name | Data Type | Allows NULL | Default Value | Index | Comment |
|---|---|---|---|---|---|
| id | INT | NO | AUTO_INCREMENT | PRIMARY | |
| name | VARCHAR(255) | YES | NULL | ||
| VARCHAR(255) | YES | NULL | UNIQUE | ||
| age | INT | YES | NULL |
✅ බ්රව්සරයක වර්ගීකරණ ලැයිස්තු පහසුවෙන් පරීක්ෂා කළ හැක
✅ GUI හරහා වර්ගීකරණ එකතු කිරීම/සංස්කරණය/මකන ලද හැක
6-3. විකල්ප මෙවලම්: DBeaver සහ TablePlus
MySQL Workbench සහ phpMyAdmin හැරෙනු, වෙනත් භාවිතාකාරී දත්තගබඩා කළමනාකරණ මෙවලම් තිබේ.
DBeaver
- ක්රොස්-ප්ලැට්ෆෝම් (Windows, Mac, Linux)
- MySQL හැර PostgreSQL, SQLite, Oracle වැනි බොහෝ දත්තගබඩා සඳහා සහාය දක්වයි
- සංවේදී GUI එකකින් වර්ගීකරණ ලැයිස්තු පෙන්වීමට ඉඩ සලසයි
TablePlus
- ආරම්භකයින්ට පහසු සරල UI
- MySQL, PostgreSQL, SQLite ආදිය සඳහා සහාය දක්වයි
- සුවපහසු දත්තගබඩා කළමනාකරණය සඳහා වේගවත් ක්රියාකාරිත්වය
✅ මෙම මෙවලම් භාවිතා කරමින්, වර්ගීකරණ ලැයිස්තු පරීක්ෂා කිරීම සහ දත්ත ක්රියාකාරකම් තවදුරටත් සුමට වේ
සාරාංශ
මෙම කොටසේ, අපි GUI මෙවලම් භාවිතයෙන් තීරුව ලැයිස්තු පරීක්ෂා කිරීම පිළිබඳව පැහැදිලි කළෙමු.
ප්රධාන සාරාංශ
✔ MySQL Workbench හි, ඔබට “Table Inspector” → “Columns” තුළ තීරුවල පරීක්ෂා කළ හැක
✔ phpMyAdmin හි, “Structure” ටැබ් එකෙන් තීරුවේ තොරතුරු දැකිය හැක
✔ DBeaver සහ TablePlus වැනි විකල්ප මෙවලම්ද ප්රයෝජනවත් වේ
✔ GUI මෙවලම් ඔබට SQL දැනුමක් නොමැතිව තීරුව තොරතුරු ස්වභාවිකව තහවුරු කිරීමට ඉඩ දෙයි
7. සාමාන්ය ප්රශ්න (Frequently Asked Questions)
MySQL තීරුව ලැයිස්තුගත කිරීම පිළිබඳව පාඨකයන්ට ඇති සාමාන්ය ප්රශ්න මෙන්න.
අපි SHOW COLUMNS සහ INFORMATION_SCHEMA භාවිතා කරන විට ඇති සීමා, දෝෂ හසුරවීම, සහ උසස් භාවිතය පිළිබඳවද පැහැදිලි කරමු.
7-1. SHOW COLUMNS සහ DESCRIBE අතර වෙනස කුමක්ද?
ප්රශ්නය
“SHOW COLUMNS සහ DESCRIBE අතර වෙනස කුමක්ද?”
පිළිතුර
SHOW COLUMNS සහ DESCRIBE ආසන්නම එකම කාර්ය සාධනය ලබා දෙයි.
ඇත්තටම, DESCRIBE යනු SHOW COLUMNS හි අන්ය නාමයක් වේ.
✅ SHOW COLUMNS උදාහරණය
SHOW COLUMNS FROM users;
✅ DESCRIBE උදාහරණය
DESCRIBE users;
වෙනස්කම් ප්රධාන වශයෙන්:
| Command | Function | Details |
|---|---|---|
| SHOW COLUMNS | Retrieve column information | Supports more detailed options |
| DESCRIBE | Alias of SHOW COLUMNS | Shorter and easier to type |
බොහෝ භාවිතයන් සඳහා, DESCRIBE ප්රමාණවත් වේ,
නමුත් ඔබට වඩා ස flexibil options අවශ්ය නම්, SHOW COLUMNS තෝරන්න.
7-2. INFORMATION_SCHEMA භාවිතයේ ප්රතිලාභ මොනවාද?
ප්රශ්නය
“SHOW COLUMNS වෙනුවට INFORMATION_SCHEMA භාවිතා කිරීමේ ප්රතිලාභ මොනවාද?”
පිළිතුර
INFORMATION_SCHEMA.COLUMNS භාවිතා කිරීමෙන් පහත වැනි උසස් සෙවීම් සිදු කළ හැක:
✅ සම්පූර්ණ දත්ත ගබඩාවක් පුරා තීරුව තොරතුරු ලබා ගැනීම
✅ විශේෂිත තීරුවක් අඩංගු වගු සොයා ගැනීම
✅ SQL WHERE ප්රකාශන භාවිතයෙන් ප්රතිඵල පෙරහන් කිරීම
උදාහරණයක් ලෙස, ඔබට “email තීරුවක් ඇති සියලු වගු සොයා ගැනීමට” අවශ්ය නම්,
SHOW COLUMNS මෙය සෘජුවම කළ නොහැක, නමුත් INFORMATION_SCHEMA කළ හැක.
SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';
SHOW COLUMNS තොරතුරු එක් වගුවක් පමණක් ලබා ගත හැක,
නමුත් INFORMATION_SCHEMA සම්පූර්ණ දත්ත ගබඩාව පුරා සෙවිය හැක.
7-3. විශේෂිත තීරුවක් අඩංගු වගු ලැයිස්තුගත කිරීම කෙසේද?
ප්රශ්නය
“දත්ත ගබඩාවක විශේෂිත තීරුවක් අඩංගු වගු ලැයිස්තුගත කිරීමේ ක්රමයක් තිබේද?”
පිළිතුර
ඔබට INFORMATION_SCHEMA.COLUMNS භාවිතා කර විශේෂිත තීරුවක් අඩංගු වගු සොයා ගත හැක.
✅ SQL වාක්ය රචනය
SELECT table_name
FROM information_schema.columns
WHERE column_name = 'column_name'
AND table_schema = 'database_name';
✅ උදාහරණය
“email තීරුවක් අඩංගු වගු සොයා ගැනීමට මට අවශ්යයි.”
SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';
✅ ප්රතිඵල
+------------+
| table_name |
+------------+
| users |
| customers |
+------------+
මෙම ක්රමය ඔබට ඉක්මනින් ඔබේ දත්ත ගබඩාවේ විශේෂිත තීරුවක් අඩංගු වගු තහවුරු කිරීමට උපකාරී වේ.
7-4. තීරුවේ අදහස් (Comments) ලබා ගැනීම කෙසේද?
ප්රශ්නය
“තීරුවල සකස් කර ඇති අදහස් (comment) තොරතුරු ලබා ගැනීමට මොනවද ක්රම?”
පිළිතුර
MySQL හි, ඔබට තීරුවලට අදහස් (විස්තර) සකස් කළ හැක.
අදහස් ලබා ගැනීමට, SHOW FULL COLUMNS හෝ INFORMATION_SCHEMA.COLUMNS භාවිතා කරන්න.
✅ SHOW FULL COLUMNS උදාහරණය
SHOW FULL COLUMNS FROM users;
✅ INFORMATION_SCHEMA භාවිතය
SELECT column_name, column_comment
FROM information_schema.columns
WHERE table_name = 'users'
AND table_schema = 'my_database';
✅ ප්රතිඵල
+-------------+---------------------+
| column_name | column_comment |
+-------------+---------------------+
| id | User ID |
| name | User name |
| email | Email address |
| age | Age (optional) |
+-------------+---------------------+
7-5. ස්ක්රිප්ට් භාවිතයෙන් තීරුව ලැයිස්තු ස්වයංක්රීය කිරීම කෙසේද?
ප්රශ්නය
“තීරුව ලැයිස්තු ලබාගෙන ස්ක්රිප්ට් එකක් මගින් ස්වයංක්රීයව ලොග් කිරීමේ ක්රමයක් තිබේද?”
පිළිතුර
Python හෝ Shell ස්ක්රිප්ට් භාවිතා කරමින්, ඔබට කොලම් ලැයිස්තුවන් කාලීනව ලබාගෙන සුරකින්න හැකිය.
✅ Python ස්ක්රිප්ට් උදාහරණය
import mysql.connector
config = {
'user': 'your_user',
'password': 'your_password',
'host': 'localhost',
'database': 'your_database'
}
conn = mysql.connector.connect(**config)
cursor = conn.cursor()
cursor.execute("SELECT column_name FROM information_schema.columns WHERE table_name = 'users'")
columns = cursor.fetchall()
print("Columns:")
for column in columns:
print(column[0])
cursor.close()
conn.close()
✅ Shell ස්ක්රිප්ට් උදාහරණය
#!/bin/bash
DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"
mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME';"
✅ නියමිතව ධාවනය (cron job)
0 3 * * * /path/to/mysql_columns.sh
(දිනපතා උදේ 3:00ට කොලම් ලැයිස්තුව ලබාගෙන ලොග් කරයි.)
සාරාංශය
මෙම කොටසේදී, අපි MySQL කොලම් ලැයිස්තුගත කිරීම පිළිබඳ පොදු ප්රශ්න සහ විසඳුම් හඳුන්වා දුන්නෙහිම.
ප්රධාන ග්රහණයන්
✔ SHOW COLUMNS සහ DESCRIBE සමාන ය, නමුත් SHOW COLUMNS වඩා නම්යශීලී ය
✔ INFORMATION_SCHEMA ඔබට දත්ත සමුදාය තුළ කොලම් සෙවීමට ඉඩ සලසයි
✔ නිශ්චිත කොලමක් අඩංගු වගු සොයාගැනීමට INFORMATION_SCHEMA.COLUMNS භාවිතා කරන්න
✔ කොලම් අදහස් ලබාගැනීමට SHOW FULL COLUMNS හෝ INFORMATION_SCHEMA භාවිතා කරන්න
✔ Python හෝ Shell ස්ක්රිප්ට් කොලම් ලබාගැනීම ස්වයංක්රීය කළ හැකි අතර cron එය නියමිතව ධාවනය කළ හැකිය
8. අවසාන සාරාංශය
මෙම ලිපියේදී, අපි MySQL හි කොලම් ලැයිස්තුවක් ලබාගැනීම ක්රමය විස්තරාත්මකව පැහැදිලි කළෙහිම.
මූලික SQL පණිවිඩ සිට උසස් සෙවුම් ක්රම, ස්වයංක්රීයකරණය, දෝෂ කළමනාකරණය සහ GUI මෙවලම් භාවිතය දක්වා,
අපි පුළුල් ප්රායෝගික දැනුම් පරාසයක් ආවරණය කළෙහිම.
අවසානයේ, මුළු ලිපියෙන් වඩාත් වැදගත් කරුණු සාරාංශගත කරමු.
8-1. සම්පූර්ණ දළ විශ්ලේෂණය: MySQL හි කොලම් ලැයිස්තුගත කිරීම ක්රමය
මූලික ක්රම
| Method | Command | Notes |
|---|---|---|
| SHOW COLUMNS | SHOW COLUMNS FROM table_name; | The simplest method. Retrieve per table. |
| DESCRIBE | DESCRIBE table_name; | An alias for SHOW COLUMNS. |
| INFORMATION_SCHEMA | SELECT column_name FROM information_schema.columns WHERE table_name = 'table_name' AND table_schema = 'database_name'; | Search column info across the entire database. |
✅ SHOW COLUMNS සහ DESCRIBE සරල සහ පහසු ය
✅ INFORMATION_SCHEMA ඔබට දත්ත සමුදාය තුළ කොලම් සෙවීමට ඉඩ සලසයි
8-2. කොලම් තොරතුරු ලබාගැනීමේ උසස් ක්රම
| Method | Command | Purpose |
|---|---|---|
| Retrieve columns for all tables | SELECT table_name, column_name FROM information_schema.columns WHERE table_schema = 'database_name'; | List all columns across the database. |
| Find tables containing a specific column | SELECT table_name FROM information_schema.columns WHERE column_name = 'column_name' AND table_schema = 'database_name'; | Find which tables contain the column. |
| Retrieve detailed column info | SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name = 'table_name' AND table_schema = 'database_name'; | Check data types, NULL allowance, and defaults. |
✅ ඔබට නිශ්චිත කොලමක් අඩංගු වගු සෙවිය හැකිය (schema වෙනස්කම් වේලාවට ගුණදායක ය)
✅ ඔබට දත්ත වර්ගය සහ NULL ඉඩදීමේ තොරතුරු ද ලබාගත හැකිය
8-3. ස්වයංක්රීයකරණය සහ දෝෂ කළමනාකරණය
ස්වයංක්රීයකරණ ක්රම
| Method | Language | Command |
|---|---|---|
| Python script | Python | Use mysql-connector-python |
| Shell script | Bash | mysql -u user -p -e "SQL" |
| Scheduled run (cron job) | Linux | 0 3 * * * /path/to/script.sh |
✅ ස්ක්රිප්ට් කොලම් ලැයිස්තුගත කිරීම ස්වයංක්රීය කළ හැකිය
✅ Cron jobs නියමිත schema නිරීක්ෂණය සක්රීය කරයි
දෝෂ කළමනාකරණය
| Error | Cause | Solution |
|---|---|---|
SELECT command denied | No SELECT privilege for SHOW COLUMNS | GRANT SELECT ON your_database.* TO 'user'@'localhost'; |
Access denied for user | No privileges for INFORMATION_SCHEMA | GRANT SELECT ON information_schema.* TO 'user'@'localhost'; |
Table doesn't exist | Wrong table name | Specify the correct database/table |
✅ විශේෂඥතා සම්බන්ධ දෝෂ GRANT පණිවිඩයෙන් විසඳිය හැකිය
✅ INFORMATION_SCHEMA භාවිතය විශේෂ විශේෂඥතා අවශ්ය විය හැකිය
8-4. GUI මෙවලම් භාවිතා කරමින් කොලම් ලැයිස්තු පරීක්ෂා කිරීම
පොදු මෙවලම්
| Tool | Notes |
|---|---|
| MySQL Workbench | Official tool. Visually manage column information. |
| phpMyAdmin | Easy database management from a web browser. |
| DBeaver | Feature-rich tool that supports many DBs beyond MySQL. |
| TablePlus | Simple design and intuitive operation. |
✅ GUI මෙවලම් SQL පණිවිඩ නොමැතිව කොලම් පරීක්ෂා කිරීමට ඉඩ සලසයි
✅ දත්ත සමුදාය සැලසුම්කරණය සහ සංස්කරණය වඩා ස්වභාවිකව කළ හැකිය
8-5. FAQ ඉස්මතු කිරීම්
| Question | Answer |
|---|---|
What’s the difference between SHOW COLUMNS and DESCRIBE? | They are almost the same, but SHOW COLUMNS has more options. |
What are the benefits of using INFORMATION_SCHEMA? | You can search across the database and find tables that contain a specific column. |
| How can I find tables that contain a specific column? | Use INFORMATION_SCHEMA.COLUMNS. |
| How can I retrieve column comments? | Use SHOW FULL COLUMNS or INFORMATION_SCHEMA.COLUMNS. |
| How can I automate column listing? | Use Python/Shell scripts and schedule them with cron. |
✅ පොදු ප්රශ්නවලට පැහැදිලි පිළිතුරු සපයන්න
✅ ප්රායෝගිකභාවය වැඩිදියුණු කිරීමට නිශ්චිත SQL උදාහරණ භාවිතා කරන්න
8-6. වඩා කාර්යක්ෂම දත්ත සමුදාය කළමනාකරණය සඳහා ඉඟි
අවසානයේ, දත්ත සමුදාය කළමනාකරණ කාර්යක්ෂමතාව වැඩිදියුණු කිරීමට සමහර ඉඟි මෙන්න.
✅ ඔබේ වගු ව්යුහය ලේඛනගත කරන්න
- වගු ව්යුහ ලියා තබාගැනීමට
SHOW CREATE TABLEභාවිතා කරන්න - Schema වෙනස්කම් ලුහුබඳින්න නියමිතව
INFORMATION_SCHEMAපරීක්ෂා කරන්න
✅ නිසි විශේෂඥතා කළමනාකරණය සකසන්න
- අනවශ්ය විශේෂඥතා සීමා කිරීමට
GRANTසහREVOKEභාවිතා කරන්න - වගු වෙනස් කළ කවුරුදැයි ලියා තබාගැනීමට audit logs භාවිතා කරන්න
✅ ස්ක්රිප්ට් භාවිතා කරමින් සාමාන්ය කාර්යයන් ස්වයංක්රීය කරන්න
- Python හෝ Shell ස්ක්රිප්ට් භාවිතා කරමින් කොලම් ලැයිස්තුවන් කාලීනව ලබාගෙන ලොග් කරන්න
- Schema වෙනස්කම් දිනපතා නිරීක්ෂණය කිරීමට cron jobs භාවිතා කරන්න
සාරාංශය සහ මීළඟ පියවර
මෙම ලිපියේදී, අපි MySQL හි කොලම් ලැයිස්තුගත කිරීම ක්රමය මූලික සිට උසස් දක්වා පද්ධතිමයව පැහැදිලි කළෙහිම.
දත්ත සමුදාය කළමනාකරණය සහ සංවර්ධනයේදී, කොලම් ලැයිස්තුගත කිරීම වගු ව්යුහයන් තේරුම් ගැනීම සහ debugging කාර්යක්ෂමතාව වැඩිදියුණු කිරීම සඳහා අත්යවශ්ය ය.
ඊළඟ පියවර
✅ ඔබේ පරිසරයේ MySQL හි තීරු ලැයිස්තුගත කිරීම උත්සාහ කරන්න
✅ Python හෝ Shell ස්ක්රිප්ට් සමඟ වැඩපිළිවෙළ ස්වයංක්රීය කිරීම උත්සාහ කරන්න
✅ දත්ත ගබඩා කළමනාකරණය සරල කිරීම සඳහා GUI මෙවලම් භාවිතා කරන්න
මෙම කුසලතා සමඟ, ඔබට MySQL දත්ත ගබඩා වඩා කාර්යක්ෂමව කළමනාකරණය කළ හැක! 🚀


