Jinsi ya kuuza nje faili za data kutoka kwa hifadhidata ya Linux MySQL?kuuza nje amri ya taarifa ya csv

Jinsi ya kuhamisha faili za data kutoka kwa hifadhidata ya Linux MySQL ? Je, ni amri gani za kuhamisha hadi CSV?

MySQLkusafirisha data ya data

Katika MySQL, unaweza kutumia taarifa ya SELECT … INTO OUTFILE ili kusafirisha data kwa urahisi kwenye faili ya maandishi.


Hamisha data kwa kutumia SELECT ... INTO OUTFILE taarifa

Katika mfano ufuatao tutahamisha jedwali la data kwenye faili ya /tmp/tutorials.txt:

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

Unaweza kuweka umbizo lililobainishwa la pato la data kupitia chaguo za amri. Mfano ufuatao ni wa kuhamisha umbizo la CSV:

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

Katika mfano ufuatao, faili inatolewa na maadili yaliyotenganishwa na koma.Umbizo hili linaweza kutumiwa na programu nyingi.

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

Taarifa ya SELECT ... INTO OUTFILE ina sifa zifuatazo:

  • LOAD DATA INFILE ni utendakazi kinyume wa CHAGUA ... NDANI YA OUTFILE, CHAGUA sintaksia.Kuandika data kutoka kwa hifadhidata hadi faili, tumia CHAGUA ... INTO OUTFILE, na kusoma faili tena kwenye hifadhidata, tumia LOAD DATA INFILE.
  • CHAGUA ... NDANI YA OUTFILE UCHAGUZI wa fomu ya 'file_name' unaweza kuandika mistari iliyochaguliwa kwenye faili.Faili imeundwa kwenye seva pangishi, kwa hivyo lazima uwe na kibali cha FILE ili kutumia sintaksia hii.
  • Toleo haliwezi kuwa faili iliyopo.Zuia data ya faili kuchezewa.
  • Je, unahitaji kuwa na akaunti ili kuingia kwenye seva ili kurejesha faili.Vinginevyo CHAGUA ... INTO OUTFILE haitakuwa na athari.
  • Katika UNIX, faili imeundwa ili kusomeka, na ruhusa zinamilikiwa na seva ya MySQL.Hii ina maana kwamba wakati unaweza kusoma faili, huenda usiweze kuifuta.

Hamisha jedwali kama data ghafi

Hutoa hati ya SQL iliyo na amri CREATE TABLE INSERT n.k zinazohitajika kuunda upya hifadhidata kutoka mwanzo.

Ili kuhamisha data kwa kutumia mysqldump, unahitaji kutumia -tab chaguo kutaja saraka iliyoainishwa na faili ya usafirishaji, na lengo lazima liandikwe.

Mfano ufuatao husafirisha jedwali la data chenweiliang_tbl kwa saraka ya /tmp:

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

Hamisha data katika umbizo la SQL

Hamisha data katika umbizo la SQL kwa faili maalum, kama ifuatavyo:

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

Yaliyomo kwenye faili iliyoundwa na amri hapo juu ni kama ifuatavyo.

- 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' );

Ikiwa unahitaji kusafirisha data ya hifadhidata nzima, unaweza kutumia amri ifuatayo:

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

Ikiwa unahitaji kuhifadhi hifadhidata zote, unaweza kutumia amri ifuatayo:

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

Chaguo la --all-databases liliongezwa katika MySQL 3.23.12 na baadaye.

Mbinu hii inaweza kutumika kutekeleza mkakati wa kuhifadhi hifadhidata.


Nakili majedwali ya data na hifadhidata kwa wapangishaji wengine

Ikiwa unahitaji kunakili data kwa seva nyingine ya MySQL, unaweza kutaja jina la hifadhidata na jedwali katika amri ya mysqldump.

Tekeleza amri ifuatayo kwenye seva pangishi chanzo ili kuhifadhi nakala ya data kwenye faili ya dump.txt:

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

Ukihifadhi hifadhidata kwa ukamilifu, huhitaji kutumia jina mahususi la jedwali.

Ikiwa unahitaji kuagiza hifadhidata kwenye seva ya MySQL, unaweza kutumia amri ifuatayo, ukitumia amri ifuatayo unahitaji kudhibitisha kuwa hifadhidata imeundwa:

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

Amri iliyo hapo juu hutumia bomba kuleta data iliyosafirishwa kwa seva pangishi ya mbali iliyobainishwa.

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Kitabu ya Juu