د لینکس مای ایس کیو ایل ډیټابیس څخه د ډیټا فایلونو صادرولو څرنګوالی؟د csv بیان کمانډ صادر کړئ

لینوکس د MySQL ډیټابیسد ډیټا فایلونو صادرولو څرنګوالی؟د csv بیان کمانډ صادر کړئ

ماید ډیټا ډیټا صادرول

په MySQL کې تاسو کارولی شئانتخاب کړئ … په آوټ فایل کېبیان په ساده ډول د متن فایل ته ډیټا صادرولو لپاره.


د SELECT ... INTO OUTFILE بیان په کارولو سره ډاټا صادر کړئ

په لاندې مثال کې به موږ د ډیټا جدول /tmp/tutorials.txt فایل ته صادر کړو:

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

تاسو کولی شئ د کمانډ اختیارونو له لارې د ډیټا محصول مشخص فارمیټ تنظیم کړئ. لاندې مثال د CSV فارمیټ صادرولو لپاره دی:

mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
    
    

په لاندې مثال کې، یو فایل د کوما لخوا جلا شوي ارزښتونو سره رامینځته کیږي.دا بڼه د ډیری پروګرامونو لخوا کارول کیدی شي.

SELECT a b a + b INTO OUTFILE '/tmp/result.text'FIELDS 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行
终止'\ 
n'FROM test_table ;

د SELECT ... INTO OUTFILE بیان لاندې ځانګړتیاوې لري:

  • LOAD DATA INFILE د SELECT... INTO OUTFILE، SELECT نحوي برعکس عملیات دي.د ډیټابیس څخه فایل ته ډاټا لیکلو لپاره، د SELECT ... INTO OUTFILE وکاروئ، او فایل بیرته ډیټابیس ته لوستلو لپاره، د LOAD DATA INFILE وکاروئ.
  • SELECT... INTO outfile د 'file_name' د فورمې یوه ټاکنه کولی شي ټاکل شوې کرښې په فایل کې ولیکي.فایل د سرور کوربه کې رامینځته شوی ، نو تاسو باید د دې ترکیب کارولو لپاره د FILE اجازه ولرئ.
  • محصول نشي کولی موجوده فایل وي.د فایل ډیټا د لاسوهنې مخه ونیسئ.
  • ایا تاسو اړتیا لرئ د فایلونو ترلاسه کولو لپاره سرور ته د ننوتلو لپاره حساب ولرئ.که نه نو SELECT ... INTO OUTFILE به هیڅ اغیزه ونلري.
  • په UNIX کې، فایل د لوستلو وړ وي، او اجازه د MySQL سرور ملکیت دی.دا پدې مانا ده چې پداسې حال کې چې تاسو فایل لوستلی شئ ، تاسو ممکن نشئ کولی دا حذف کړئ.

جدول د خام معلوماتو په توګه صادر کړئ

دا په عمده توګه یو ایس کیو ایل سکریپټ تولیدوي چې کمانډونه پکې شامل دي CREATE TABLE INSERT etc. د سکریچ څخه ډیټابیس بیا جوړولو لپاره اړین دي.

د mysqldump په کارولو سره د ډیټا صادرولو لپاره ، تاسو اړتیا لرئ د -tab اختیار وکاروئ ترڅو د صادر شوي فایل لخوا مشخص شوي لارښود مشخص کړئ ، او هدف باید د لیکلو وړ وي.

لاندې مثال د ډیټا جدول chenweiliang_tbl /tmp لارښود ته صادروي:

$ mysqldump - u root - p - no - create - info
             - tab = / tmp chenweiliang chenweiliang_tbl
密码******

په SQL بڼه کې ډاټا صادر کړئ

ټاکل شوي فایل ته د SQL فارمیټ کې ډاټا صادر کړئ، په لاندې ډول:

$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 文本 
密码******

د پورته کمانډ لخوا رامینځته شوي فایل مینځپانګه په لاندې ډول ده:

- MySQL 转储8.23 - - 主机localhost     数据库chenweiliang
 ----------------------------------- ---------------------- - 服务器版本        3.23 58   

 
 

- - 结构`chenweiliang_tbl` -
 


CREATE TABLE chenweiliang_tbl 
  chenweiliang_id INT 11 NOT NULL的auto_increment 
  chenweiliang_title VARCHAR 100 NOT NULL 默认'' 
  chenweiliang_author VARCHAR 40 NOT NULL 默认'' 
  submission_date日期默认NULL 
  PRIMARY KEY   chenweiliang_id ),
  UNIQUE KEY AUTHOR_INDEX chenweiliang_author TYPE = MyISAM ;  


- - 转储数据`chenweiliang_tbl` -
 


INSERT INTO chenweiliang_tbl 
       VALUES 1 'Learn PHP' 'John Poul' '2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES 2 '学习MySQL' 'Abdul S' '2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES 3 'JAVA Tutorial' 'Sanjay' '2007-05-06' );

که تاسو اړتیا لرئ د ټول ډیټابیس ډیټا صادر کړئ ، تاسو کولی شئ لاندې کمانډ وکاروئ:

$ mysqldump - u root - p chenweiliang > database_dump 文本
密码******

که تاسو د ټولو ډیټابیس بیک اپ کولو ته اړتیا لرئ، تاسو کولی شئ لاندې کمانډ وکاروئ:

$ mysqldump - u root - p - all - databases > database_dump 文本
密码******

د --all-databases اختیار په MySQL 3.23.12 او وروسته کې اضافه شوی.

دا میتود د ډیټابیس بیک اپ ستراتیژۍ پلي کولو لپاره کارول کیدی شي.


د ډیټا میزونه او ډیټابیسونه نورو کوربه ته کاپي کړئ

که تاسو د بل MySQL سرور ته ډاټا کاپي کولو ته اړتیا لرئ، تاسو کولی شئ د ډیټابیس نوم او میز په mysqldump کمانډ کې مشخص کړئ.

د dump.txt فایل ته د معلوماتو بیک اپ کولو لپاره د سرچینې کوربه کې لاندې کمانډ اجرا کړئ:

$ mysqldump - u root - p database_name table_name > dump 文本 
密码*****

که تاسو خپل ډیټابیس په بشپړ ډول بیک اپ کړئ، تاسو اړتیا نلرئ د ځانګړي میز نوم وکاروئ.

که تاسو د MySQL سرور ته د بیک اپ ډیټابیس واردولو ته اړتیا لرئ، تاسو کولی شئ لاندې کمانډ وکاروئ، د لاندې کمانډ په کارولو سره تاسو اړتیا لرئ دا تایید کړئ چې ډیټابیس رامینځته شوی:

$ mysql - u root - p database_name < dump 文本 
密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > 
$ mysqldump的- ü根- p DATABASE_NAME \
        | mysql - h other - host com database_name

پورته کمانډ ټاکل شوي ریموټ کوربه ته صادر شوي ډاټا واردولو لپاره پایپ کاروي.

امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ د لینکس مای ایس کیو ایل ډیټابیس څخه د ډیټا فایلونو صادرولو څرنګوالی؟ستاسو سره د مرستې لپاره د csv بیان کمانډ صادر کړئ.

د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-501.html

د نورو پټو چلونو د خلاصولو لپاره، زموږ د ټیلیګرام چینل سره یوځای کیدو ته ښه راغلاست!

که مو خوښه شوه لایک او شریک کړئ! ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!

 

评论 评论

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې کارول کیږي * لیبل

پاس شئ