CSV ගොනුව MySQL වෙත ආයාත කිරීමේ ක්‍රමය: LOAD DATA INFILE සමඟ සම්පූර්ණ මාර්ගෝපදේශය සහ ගැටළු විසඳුම්

1. MySQL වෙත CSV ගොනු ආයාත කිරීමේ හැඳින්වීම

MySQL වෙත CSV ගොනු ආයාත කිරීම දත්ත කළමනාකරණය සරල කරමින් අතින් දත්ත ඇතුළත් කිරීමේ අවශ්‍යතාවය ඉවත් කරන ශක්තිමත් ක්‍රමයකි. උදාහරණයක් ලෙස, ඔබට බහු දත්ත මූලාශ්‍ර වලින් එකතු කළ තොරතුරු දත්ත ගබඩාවකට සමූහ ආයාත කිරීම අවශ්‍ය වන විට, හෝ බාහිර පද්ධති වලින් දත්ත ස්වයංක්‍රීයව සැකසීමට අවශ්‍ය වන විට, CSV ආයාත කිරීම ඉතා ප්‍රයෝජනවත් වේ.

CSV ආයාත කිරීමේ සාමාන්‍ය භාවිතා අවස්ථා

  • විශාල ප්‍රමාණයේ දත්ත සැකසීම : දහස් ගණනක් ලේඛන අතින් ඇතුළත් කිරීම වෙනුවට, CSV ආයාතය භාවිතා කර ඔබට ඒවා ඉක්මනින් සැකසිය හැක.
  • දත්ත මාරු කිරීම : වෙනත් පද්ධති වලින් නිර්යාත කළ දත්ත MySQL වෙත ආයාත කිරීමේදී පහසුකමක් සපයයි.
  • නිතිපතා දත්ත යාවත්කාලීන කිරීම : නියමිත කාල පරාසයක දත්ත යාවත්කාලීන කිරීමට අවශ්‍ය පද්ධති CSV ගොනු භාවිතා කර මෙම ක්‍රියාවලිය ස්වයංක්‍රීය කරගත හැක.

2. පෙරඅවශ්‍යතා

MySQL වෙත CSV ගොනුවක් ආයාත කිරීමට පෙර, කිහිපයක් සැකසුම් සහ සූදානම් අවශ්‍ය වේ. මෙය සාර්ථක හා දෝෂ රහිත දත්ත ආයාත ක්‍රියාවලියක් සලසයි.

2.1 අවශ්‍ය පරිසරය

  • MySQL සේවාදායක ස්ථාපනය MySQL නිසි ලෙස ස්ථාපනය කර ඇති බව ගණනය කරයි. ඔබේ පරිසරය Windows, macOS, හෝ Linux වුවත් MySQL නිසි ලෙස ක්‍රියාත්මක වන බව තහවුරු කරන්න.
  • අවශ්‍ය අවසර පරීක්ෂා කිරීම CSV ගොනුවක් ආයාත කිරීමට MySQL පරිශීලකයාට සුදුසු අධිකාරි තිබිය යුතුය. විශේෂයෙන් LOAD DATA INFILE ක්‍රියාත්මක කිරීමේ අවසර අවශ්‍ය වේ. මෙම අවසරය නොමැති නම්, ආයාතය ප්‍රතික්ෂේප විය හැක.

2.2 CSV ගොනු ආකෘතිය

  • විභජකය CSV ගොනු සාමාන්‍යයෙන් කොමා (,) භාවිතා කරයි, නමුත් සමහර අවස්ථාවල ටැබ් හෝ සෙමික්ලෝන් (;) භාවිතා විය හැක. පූර්වයෙන්ම භාවිතා වන විභජකය පරීක්ෂා කරන්න.
  • කේතනය පරීක්ෂා කිරීම CSV ගොනුව වෙනත් අක්ෂර කේතනයක (උදා: UTF-8 හෝ Shift-JIS) සුරකිනු ලැබේ නම්, ආයාත කිරීමේදී අක්ෂර විකෘතිකරණයක් සිදුවිය හැක. ගොනුවේ කේතනය පූර්වයෙන්ම තහවුරු කර, අවශ්‍ය නම් පරිවර්තනය කරන්න.

3. LOAD DATA INFILE විධානය භාවිතා කර CSV ආයාත කිරීම

MySQL වෙත CSV ගොනුවක් ආයාත කිරීමේ සාමාන්‍යම ක්‍රමය LOAD DATA INFILE විධානය භාවිතා කිරීමයි. මෙම විධානය ඔබට විශාල ප්‍රමාණයේ දත්ත පහසුවෙන් දත්ත ගබඩාවකට පූරණය කිරීමට ඉඩ සලසයි.

3.1 මූලික ව්‍යවස්ථාව

CSV ගොනුවක් MySQL වෙත ආයාත කිරීම සඳහා භාවිතා කරන මූලික ව්‍යවස්ථාව පහත පරිදි වේ.

LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
  • FIELDS TERMINATED BY : ක්ෂේත්‍ර විභජකය නියම කරයි. සාමාන්‍යයෙන් කොමා භාවිතා වේ.
  • LINES TERMINATED BY : පේළි විභජකය නියම කරයි. සාමාන්‍යයෙන් \n (නව පේළිය) භාවිතා වේ.

3.2 උදාහරණ ක්‍රියාත්මක කිරීම

පහත උදාහරණය user_data.csv නමැති ගොනුව users වගුවට ආයාත කරයි.

LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
  • IGNORE 1 LINES : CSV ගොනුවේ පළමු පේළිය (ශීර්ෂක පේළිය) නොසලකා හරියයි. පළමු පේළියේ තීරුවේ නාමයන් ඇතුළත් කර ඇති විට මෙම විකල්පය ප්‍රයෝජනවත් වේ.

3.3 වැදගත් සටහන්: ගොනු මාර්ගය සහ අවසර

ගොනු මාර්ගය නියම කරන විට, ගොනුව MySQL සේවාදායකය ප්‍රවේශ විය හැකි නාමාවලියක තිබිය යුතුය. සේවාදායකය ගොනුවට ප්‍රවේශ නොලැබේ නම්, LOAD DATA LOCAL INFILE භාවිතා කර ගනුදෙනුකරු පාර්ශ්වයෙන් දත්ත පූරණය කරන්න.

4. සාමාන්‍ය ගැටළු සඳහා විසඳුම්

CSV ගොනු ආයාත කිරීමේදී සිදුවන සාමාන්‍ය ගැටළු සඳහා පහත විසඳුම් ලබා දී ඇත.

4.1 ගොනු මාර්ග ගැටළු

ගොනු මාර්ගය නිවැරදිව නියම නොකළහොත්, The MySQL server is not permitted to read from the file වැනි දෝෂ පණිවුඩයක් පෙනෙයි. එවැනි අවස්ථාවක, සේවාදායක පාර්ශ්වයේ ගොනු මාර්ගය නිවැරදිදැයි පරීක්ෂා කරන්න. දේශීය ගොනුවක් පූරණය කිරීමට LOAD DATA LOCAL INFILE විකල්පය භාවිතා කළ හැක.

LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

4.2 අක්ෂර කේතනය ගැටළු

ගොනුව වෙනත් අක්ෂර කේතනයක (character encoding) සුරකිනු ලැබේ නම්, ආයාත කිරීමේදී අක්ෂර විකෘතිකරණයක් සිදුවිය හැක. මෙම ගැටළුව වැළැක්වීමට, ගොනුවේ කේතනය පූර්වයෙන් පරීක්ෂා කර, MySQL හි සුදුසු අක්ෂර සමුහය නියම කරන්න.

SET NAMES 'utf8mb4';

5. ප්‍රායෝගික උදාහරණය: CSV ආයාත ක්‍රියාවලිය

මෙහිදී, අපි සැබෑ CSV ගොනුවක් MySQL ට ආනයනය කිරීම සඳහා පියවරෙන් පියවරට ක්‍රියාවලිය පැහැදිලි කරමු。

5.1 CSV ගොනුව සූදානම් කිරීම

පහත අන්තර්ගතය සහිතව CSV ගොනුවක් (data.csv) නිර්මාණය කරන්න。

id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45

5.2 අණාගමනය ක්‍රියාත්මක කිරීම

නිර්මාණය කළ CSV ගොනුව users වගුවට ආනයනය කිරීම සඳහා පහත අණාගමනය ක්‍රියාත්මක කරන්න。

LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

මෙම අණාගමනය CSV ගොනුවේ දෙවන පේළිය සිට ආරම්භ වන දත්ත users වගුවට ආනයනය කරයි。

6. උසස්: දෝෂ කළමනාකරණය සහ අනුපිට දත්ත වැළැක්වීම

මෙම කොටස CSV ආනයනයේදී දෝෂ කළමනාකරණය කරන්නේ කෙසේද සහ අනුපිට දත්ත සමඟ කටයුතු කරන්නේ කෙසේද යන්න පැහැදිලි කරයි。

6.1 අනුපිට දත්ත කළමනාකරණය

එකම යතුර සහිත දත්ත දැනටමත් පවතිනවා නම්, REPLACE විකල්පය භාවිතා කරමින් අනුපිට පේළි නව දත්තවලින් ලියා පළ කළ හැක.

LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
REPLACE;

6.2 දෝෂ කළමනාකරණය

ආනයනයේදී දෝෂ සිදු වුවද ඔබ ක්‍රියාවලිය දිගටම කරගෙන යාමට අපේක්ෂා කරනවා නම්, IGNORE විකල්පය භාවිතා කරන්න. මෙය ගැටලු සහිත පේළි මගහරින අතර ඉතිරි වූ වලංගු දත්ත ආනයනය කරයි。

LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
IGNORE;

7. නිගමනය

CSV ගොනු MySQL ට ආනයනය කිරීම බරපතල දත්ත සමුදායන් කාර්යක්ෂමව කළමනාකරණය කිරීම සහ පද්ධති අතර දත්ත සංක්‍රමණය කිරීම සඳහා බලවත් මෙවලමකි. මූලික ක්‍රියාවලි තේරුම් ගැනීමෙන් සහ නිසි දෝෂ කළමනාකරණය සහ අනුපිට වැළැක්වීම උපාය මාර්ග ක්‍රියාත්මක කිරීමෙන්, ඔබ ස්ථාවර සහ විශ්වාසනීය දත්ත ආනයනයන් ලබා ගත හැක.

ඉදිරි ලිපිවලදී, අපි MySQL දත්ත සමුදායකින් දත්ත අපනයනය කිරීම කෙසේද යන්න විස්තරාත්මකව පැහැදිලි කරන්නෙමු. ඔබගේ දත්ත කළමනාකරණ කුසලතා වැඩිදියුණු කිරීම දිගටම කරගන්න.