ලිපි නාමාවලිය
MySQLදත්ත වගුව txt වෙත ආයාත කරන්නේ කෙසේද?sql ගොනුව ආනයනය කරන්නMySQL දත්ත සමුදායනිබන්ධන
MySQL ආයාත දත්ත
MySQL හි MySQL විසින් අපනයනය කරන ලද දත්ත ආයාත කිරීමට සරල ක්රම දෙකක් තිබේ.
LOAD DATA භාවිතයෙන් දත්ත ආයාත කරන්න
දත්ත ඇතුලත් කිරීම සඳහා LOAD DATA INFILE ප්රකාශය MySQL හි සපයා ඇත.පහත උදාහරණය වත්මන් නාමාවලියෙන් dump.txt ගොනුව කියවා ගොනුවේ ඇති දත්ත වත්මන් දත්ත ගබඩාවේ mytbl වගුවට ඇතුල් කරනු ඇත.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
LOCAL මූල පදය සඳහන් කර ඇත්නම්, එය ගොනුව සේවාදායක ධාරකයෙන් මාර්ගයෙන් කියවන බව පෙන්නුම් කරයි.නිශ්චිතව දක්වා නොමැති නම්, ගොනුව සේවාදායකයේ මාර්ගයෙන් කියවනු ලැබේ.
LOAD DATA ප්රකාශය තුළ ඔබට තීරු අගය සීමා කරන්නන් සහ පේළියේ කෙළවර සලකුණු කිරීම් පැහැදිලිව සඳහන් කළ හැක, නමුත් පෙරනිමි සලකුණු වන්නේස්ථානගත කිරීමචරිත සහ රේඛා බිඳීම්.
FIELDS සහ LINES වගන්තිවල වාක්ය ඛණ්ඩය විධාන දෙකටම සමාන වේ.වගන්ති දෙකම විකල්ප වේ, නමුත් දෙකම සඳහන් කර ඇත්නම්, FIELDS වගන්තිය LINES වගන්තියට පෙර දිස්විය යුතුය.
පරිශීලකයා FIELDS වගන්තියක් සඳහන් කරන්නේ නම්, එහි වගන්ති (අවසන් කරන ලද, [විකල්පමය වශයෙන්] ENCLOSEBY, සහ ESCAPED BY) විකල්ප වේ, කෙසේ වෙතත්, පරිශීලකයා අවම වශයෙන් ඒවායින් එකක්වත් සඳහන් කළ යුතුය.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl -> FIELDS TERMINATED BY ':' -> LINES TERMINATED BY '\r\n';
පෙරනිමියෙන්, LOAD DATA දත්ත ගොනුවේ ඇති තීරු අනුපිළිවෙලට දත්ත ඇතුළත් කරයි. දත්ත ගොනුවේ ඇති තීරු ඇතුළත් කළ වගුවේ ඇති තීරු සමඟ නොගැලපේ නම්, ඔබ තීරු අනුපිළිවෙල සඳහන් කළ යුතුය.
උදාහරණයක් ලෙස, දත්ත ගොනුවේ තීරු අනුපිළිවෙල a,b,c, නමුත් ඇතුළු කළ වගුවේ තීරු අනුපිළිවෙල b,c,a වේ, දත්ත ආයාත සින්ටැක්ස් පහත පරිදි වේ:
mysql> LOAD DATA LOCAL INFILE 'dump.txt' -> INTO TABLE mytbl (b, c, a);
mysqlimport භාවිතයෙන් දත්ත ආයාත කරන්න
mysqlimport සේවාලාභියා LOAD DATA INFILEQL ප්රකාශයට විධාන රේඛා අතුරු මුහුණතක් සපයයි. mysqlimport හි බොහෝ විකල්ප සෘජුවම LOAD DATA INFILE වගන්තියට අනුරූප වේ.
dump.txt ගොනුවෙන් mytbl දත්ත වගුවට දත්ත ආයාත කිරීමට, පහත විධානය භාවිතා කළ හැක:
$ mysqlimport -u root -p --local database_name dump.txt password *****
mysqlimport විධානයට නියමිත ආකෘතිය සැකසීමට විකල්ප නියම කළ හැක.විධාන ප්රකාශයේ ආකෘතිය පහත පරිදි වේ:
$ mysqlimport -u root -p --local --fields-terminated-by=":" \ --lines-terminated-by="\r\n" database_name dump.txt password *****
තීරු වල අනුපිළිවෙල සැකසීමට mysqlimport ප්රකාශයේ --columns විකල්පය භාවිතා කරන්න:
$ mysqlimport -u root -p --local --columns=b,c,a \ database_name dump.txt password *****
mysqlimport හි පොදු විකල්ප සඳහා හැඳින්වීම
选项 | ස්තූතියි |
---|---|
-d හෝ --මකන්න | දත්ත වගුවට නව දත්ත ආයාත කිරීමට පෙර දත්ත වගුවේ ඇති සියලුම තොරතුරු මකන්න |
-f හෝ -බලය | mysqlimport එය දෝෂයකට මුහුණ දුන්නත් නැතත් දත්ත ඇතුළත් කිරීම දිගටම කරගෙන යාමට බල කරයි |
-i හෝ -නොසලකා හරින්න | mysqlimport එකම අනන්ය යතුරක් ඇති රේඛා මඟ හරියි හෝ නොසලකා හරින අතර ආනයනය කරන ලද ගොනුවේ දත්ත නොසලකා හරිනු ලැබේ. |
-l හෝ -lock-tables | දත්ත ඇතුලත් කිරීමට පෙර වගුව අගුලු දමා ඇත, එය ඔබ දත්ත සමුදාය යාවත්කාලීන කරන විට පරිශීලක විමසුම් සහ යාවත්කාලීන බලපෑමට ලක් වීම වළක්වයි. |
-r හෝ -ප්රතිස්ථාපනය | මෙම විකල්පය -i විකල්පයට ප්රතිවිරුද්ධ වේ; මෙම විකල්පය වගුවේ ඇති එකම අද්විතීය යතුර සමඟ වාර්තා ප්රතිස්ථාපනය කරයි. |
--fields-enclosed-by= අක්ෂරය | පෙළ ගොනුව තුළ දත්ත වාර්තාව ඇතුළත් කළ යුතු දේ සඳහන් කරන්න, බොහෝ අවස්ථාවලදී, දත්ත ද්විත්ව උද්ධෘත ලකුණු වලින් කොටා ඇත.දත්ත පෙරනිමියෙන් අනුලකුණුවලට ඇතුළත් කර නැත. |
--fields-terminated-by=char | එක් එක් දත්තවල අගයන් අතර පරිසීමකය නියම කරයි. කාල පරිච්ඡේද-සීමිත ගොනුවක, පරිසීමකය යනු කාල සීමාවකි.දත්ත අතර පරිසීමකය නියම කිරීමට ඔබට මෙම විකල්පය භාවිතා කළ හැක.පෙරනිමි පරිසීමකය ටැබ් අක්ෂරයයි (ටැබ්) |
--lines-terminated-by=str | මෙම විකල්පය පෙළ ගොනුවක රේඛා අතර දත්ත සීමා කරන තන්තුවක් හෝ අක්ෂරයක් නියම කරයි.පෙරනිමියෙන් mysqlimport රේඛා බෙදුම්කරු ලෙස newline භාවිතා කරයි.ඔබට තනි අක්ෂරයක් තන්තුවකින් ප්රතිස්ථාපනය කිරීමට තෝරා ගත හැකිය: නව රේඛාවක් හෝ කරත්ත ආපසු යැවීමක්. |
mysqlimport විධානයේ බහුලව භාවිතා වන විකල්ප වන්නේ -v අනුවාදය (අනුවාදය) පෙන්වීමට, -p මුරපදයක් ඉල්ලා සිටීමට සහ යනාදියයි.
Hope Chen Weiliang බ්ලොග් ( https://www.chenweiliang.com/ ) shared "MySQL දත්ත වගුවට txt ආයාත කරන්නේ කෙසේද?Sql ගොනුව දත්ත සමුදා නිබන්ධනයට ආයාත කරන්න", එය ඔබට උපකාරී වනු ඇත.
මෙම ලිපියේ සබැඳිය බෙදා ගැනීමට සාදරයෙන් පිළිගනිමු:https://www.chenweiliang.com/cwl-503.html
නවතම යාවත්කාලීන ලබා ගැනීමට Chen Weiliang ගේ බ්ලොගයේ Telegram නාලිකාව වෙත සාදරයෙන් පිළිගනිමු!
📚 මෙම මාර්ගෝපදේශයෙහි විශාල වටිනාකමක් ඇත, 🌟මෙය දුර්ලභ අවස්ථාවක්, එය අතපසු නොකරන්න! ⏰⌛💨
ඔබ කැමති නම් Share කර Like කරන්න!
ඔබගේ බෙදාගැනීම් සහ කැමැත්ත අපගේ අඛණ්ඩ අභිප්රේරණයයි!