Ki jan yo ekspòte dosye done ki soti nan baz done Linux MySQL?ekspòte lòd deklarasyon csv

Linux baz done MySQLKi jan yo ekspòte dosye done yo?ekspòte lòd deklarasyon csv

Miskldone done ekspòtasyon

Nan MySQL ou ka itilizeCHWAZI … NAN DOSYEdeklarasyon pou tou senpleman ekspòte done nan yon dosye tèks.


Ekspòte done lè l sèvi avèk deklarasyon SELECT ... INTO OUTFILE

Nan egzanp sa a nou pral ekspòte tab done a nan fichye /tmp/tutorials.txt:

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

Ou ka mete fòma espesifye nan pwodiksyon done atravè opsyon lòd. Egzanp sa a se pou ekspòte fòma CSV:

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

Nan egzanp sa a, se yon dosye ki te pwodwi ak valè separe pa vigil.Fòma sa a ka itilize pa anpil pwogram.

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

Deklarasyon SELECT ... INTO OUTFILE gen atribi sa yo:

  • LOAD DATA INFILE se operasyon envès SELECT ... INTO OUTFILE, SELECT sentaks.Pou ekri done ki sòti nan yon baz done nan yon fichye, sèvi ak SELECT ... INTO OUTFILE, epi pou li dosye a tounen nan baz done a, itilize LOAD DATA INFILE.
  • SELECT ... NAN OUTFILE YON SELECT nan fòm 'file_name' ka ekri liy yo chwazi nan yon dosye.Fichye a kreye sou lame sèvè a, kidonk ou dwe gen pèmisyon FILE pou itilize sentaks sa a.
  • Pwodiksyon an pa kapab yon dosye ki egziste deja.Anpeche done dosye yo pa manyen.
  • Ou bezwen gen yon kont pou konekte sou sèvè a pou rekipere fichye yo.Sinon SELECT ... INTO OUTFILE p ap gen okenn efè.
  • Nan UNIX, yo kreye dosye a pou li ka li, epi sèvè MySQL posede otorizasyon yo.Sa vle di ke pandan ke ou ka li dosye a, ou ka pa kapab efase li.

Ekspòte tab kòm done anvan tout koreksyon

Li sitou pwodui yon script SQL ki gen kòmandman CREATE TABLE INSERT elatriye ki nesesè pou rkree baz done a nan grafouyen.

Pou ekspòte done lè l sèvi avèk mysqldump, ou bezwen sèvi ak opsyon -tab pou presize anyè ki espesifye nan fichye ekspòtasyon an, epi sib la dwe ekri.

Egzanp sa a ekspòte tab done chenweiliang_tbl nan anyè /tmp:

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

Ekspòte done nan fòma SQL

Ekspòte done nan fòma SQL nan dosye a espesifye, jan sa a:

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

Kontni dosye ki te kreye pa kòmandman ki anwo a se jan sa a:

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

Si ou bezwen ekspòte done yo nan baz done a tout antye, ou ka itilize lòd sa a:

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

Si ou bezwen fè backup tout baz done, ou ka itilize lòd sa a:

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

Opsyon --all-databases te ajoute nan MySQL 3.23.12 ak pita.

Metòd sa a ka itilize pou aplike yon estrateji backup baz done.


Kopi tab done ak baz done nan lòt lame

Si ou bezwen kopye done sou yon lòt sèvè MySQL, ou ka presize non baz done a ak tab nan lòd mysqldump la.

Egzekite lòd sa a sou lame sous la pou fè bak done yo nan fichye dump.txt la:

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

Si ou fè bak baz done a konplè, ou pa bezwen sèvi ak yon non tab espesifik.

Si ou bezwen enpòte baz done backup la nan sèvè MySQL la, ou ka itilize kòmandman sa a, lè l sèvi avèk kòmandman sa a ou bezwen konfime ke baz done a te kreye:

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

Kòmandman ki anwo a sèvi ak yon tiyo pou enpòte done yo ekspòte nan lame a aleka espesifye.

kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo te itilize * Mete etikèt sou

Anyè Atik
Ki gen tèt