هاوردەکردنی(Import) بنکەدراوە لەMySQL
Jun 11, 2018
3 خولەک
521 وشە
تــاگ: mysql
هاوبەشی بکە:

پێشەکی

لە بابەتی پێش باسێکمان لە جۆرەکانی هەناردە1کردنی بنکەدراوەکەمان کرد.پاش ئەم کارە ئێوە دەبێ بزانن کە چۆن دراوەکانی بنکەدراوەیێکی دیکە چ لە نێو خشتە بێت چ لە نێو خانەیەکی تایبەت، هاوردەی بنکەدراوەی دڵخوازتان بکەن. لەم بابەتە باس لە سەر هاوردەکردنی2دراوەکان دەکەین.

هاوردەکردنی بنکەدراوەکان لە MYSQL

چەند شێواز بۆ ئەم مەبەستە دەتوانین پەیدا بکەین کە لێرە ئاماژەیان پێدەکەین:

شێوازی یەکەم :هاوردەکردنی بنکەدراوە بە یارمەتیLOAD DATA

بنکەدراوەی MySQL فەرمانی LOAD DATA بە عینوانی Loader دراوەیێیک گەورە جێبەجێ دەکا. نمونە: نمونەیێکی سادە کە پەڕگەی dump.txt لە شوێنی ئێستای ئێوە دەخوێنێت و لە خشتەی mytbl لە بنکەدراوەی ئێستای ئێوە Load دەکا:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

گەر کلیلی وشەی LOCAL ڕێگە نەدرابێت، MYSQL دراوەکان لە ناونیشانێکی خۆماڵی سیستەم بەدەست دێنێت. لە شێوازی گریمانەLOAD DATA وادیارە کە پەڕگەی دراوە بریتییە لە هێڵەکان کە بە linefeed کۆتایی پێ هاتووە. بۆ دابینکردنی فۆرماتی پەڕگەیەک، لە FIELDS بۆ شرۆڤەی نووسەکانی یەک خانە لە هێڵێک سوود دەگرین. هەروەها لە LINES بۆ دابین کردنی بەدووی یەک هاتنیline-ending کەڵک وەردەگرین. فەرمانی LOAD DATA دەست نیشانی دەکا کە بڕگەی data، بریتییە لە بڕە جیاکراوەکان بە بۆر (,) و هێڵە وێستاوەکان بە نووسەی هێڵێ نوێیە:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
   -> FIELDS TERMINATED BY ':'
   -> LINES TERMINATED BY '\r\n';

فەرمانیLOAD DATA گریمانە دەکا کە خانەکان لە پڕگەی data هەر ئەو خانە هاوشێوەیە. ئێوە دەتوانن پێرستێک دابین بکەن تا دەست نیشان بکرێت کە کامیەک لە خانەکانی datafile دەبێ بار بکرێن. گریمانە کە خشتەی ئێوە بریتییە لە خانەی b , a و c بەڵام خانە پەیوەندکراوەکان لە بڕگەی data بریتین لە c, b و a .ئێوە دەتوانن پڕگەی سەرەوە بە یارمەتی کۆدی خوارەوە laod بکەن :

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
   -> INTO TABLE mytbl (b, c, a);

شێوازی دووهەم: هاوردەکردنی بنکەدراوە بەیارمەتی mysqlimport

بنکەدراوەی MYSQL بریتییە لە پرۆگرامێک بەناوی mysqlimport .ئەم بەرنامە بە عینوانی بوخچەیەک لە DATA LOAD جێبەجێ دەبێت.هەربۆیە ئێوە دەتوانن بڕگە هاوردەکان راستەوخۆ لە هێڵی فەرمان بار بکەن. بۆ بارکردنی3دراوەکان لە dump.txt در mytbl لە فەرمانی خوارەوە لە لینوکس سوود دەگرین :

$ mysqlimport -u root -p --local database_name dump.txt
password *****

گەر ئێوە لە mysqlimport سوود دەبینن، بژاردەکانی هێڵێ فەرمان چوارچێوەکان نیشاندەدەن.فەرمانەکانی mysqlimport بە دوو فەرمانەکەی پێشترهاوئاهەنگن، وادیارە لە بلۆکی کۆدی خوارەوە نیشان دراوە:

$ mysqlimport -u root -p --local --fields-terminated-by = ":" \
   --lines-terminated-by = "\r\n"  database_name dump.txt
password *****

ئەو فەرمانە کە بژاردەکان دابین دەکا، بۆ mysqlimport گرینگ نییە، بێجگە لەوە کە هەرهەموویان دەبێ پێش ناوی بنکەدراوە بن.\فەرمانی mysqlimport بژاردەی columns- بۆ ریخکردنی خانەکان دابین بکەن:

$ mysqlimport -u root -p --local --columns=b,c,a \
   database_name dump.txt
password *****

دەستکاری نووسە دەقی((Quote)) تایبەت

مەرجی FIELDS دەتوانێ بژاردەکانی چوارچیوە وەک TERMINATED BY دابین بکا.لە شێوازی پێسگریمانە LOAD DATA، گریمانە دەکا کە بڕەکانی بێ دەق و ()backslash بە عینوانی نووسەیەکی escape شڕۆڤە بکا. بۆ نیشاندانی بڕی دەق بە شێوازی دروست، لەفەرمانی ENCLOSED BY سوود دەگرین. بنکەدراوەی MYSQL لە کۆتایی بڕەکانی دراوە لە پرۆسەی هاوردە دەسڕێتەوە. بۆ گۆڕانی نووسەی پێشگریمان لە ESCAPED BY سوود دەگرین. بۆ نمونە گەر دەق و نووسەی escape ، ” و \ ــیە بڕی هاوردە “a””b\”c” به a”b”c دەگۆڕدرێت. بۆ mysqlimport ، بژاردەکانی پەیوەندکراو بە هێڵی فەرمان و دابینکردنی بڕەکانی دەقfields-enclosed-by و -fields-escaped-by هەن.



  1. Export ↩︎

  2. Import ↩︎

  3. load ↩︎