Hur exporterar man datafiler från Linux MySQL-databas?exportera csv-satskommandot

Linux MySQL-databasHur exporterar man datafiler?exportera csv-satskommandot

MySQLexportera datadata

I MySQL kan du användaVÄLJ ... TILL UTFILuttalande för att helt enkelt exportera data till en textfil.


Exportera data med SELECT ... INTO OUTFILE-satsen

I följande exempel kommer vi att exportera datatabellen till filen /tmp/tutorials.txt:

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

Du kan ställa in det angivna formatet för datautmatning genom kommandoalternativ. Följande exempel är för export av CSV-format:

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

I följande exempel genereras en fil med värden separerade med kommatecken.Detta format kan användas av många program.

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

SELECT ... INTO OUTFILE-satsen har följande attribut:

  • LOAD DATA INFILE är den omvända operationen av SELECT ... INTO OUTFILE, SELECT syntax.För att skriva data från en databas till en fil, använd SELECT ... INTO OUTFILE, och för att läsa filen tillbaka till databasen, använd LOAD DATA INFILE.
  • SELECT ... INTO OUTFIL En SELECT av formen 'file_name' kan skriva de valda raderna till en fil.Filen skapas på servervärden, så du måste ha FILE-behörighet för att använda denna syntax.
  • Utdata kan inte vara en befintlig fil.Förhindra att fildata manipuleras.
  • Behöver du ha ett konto för att logga in på servern för att hämta filer.Annars har SELECT ... INTO OUTFILE ingen effekt.
  • I UNIX skapas filen för att vara läsbar och behörigheterna ägs av MySQL-servern.Detta innebär att medan du kan läsa filen, kanske du inte kan ta bort den.

Exportera tabell som rådata

Den producerar huvudsakligen ett SQL-skript som innehåller kommandona CREATE TABLE INSERT etc. som behövs för att återskapa databasen från början.

För att exportera data med mysqldump måste du använda alternativet –tab för att ange katalogen som specificeras av exportfilen, och målet måste vara skrivbart.

Följande exempel exporterar datatabellen chenweiliang_tbl till /tmp-katalogen:

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

Exportera data i SQL-format

Exportera data i SQL-format till den angivna filen, enligt följande:

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

Innehållet i filen som skapats av kommandot ovan är som följer:

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

Om du behöver exportera data från hela databasen kan du använda följande kommando:

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

Om du behöver säkerhetskopiera alla databaser kan du använda följande kommando:

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

Alternativet --all-databases lades till i MySQL 3.23.12 och senare.

Denna metod kan användas för att implementera en strategi för säkerhetskopiering av databas.


Kopiera datatabeller och databaser till andra värdar

Om du behöver kopiera data till en annan MySQL-server kan du ange databasnamnet och tabellen i mysqldump-kommandot.

Utför följande kommando på källvärden för att säkerhetskopiera data till filen dump.txt:

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

Om du säkerhetskopierar databasen i sin helhet behöver du inte använda ett specifikt tabellnamn.

Om du behöver importera backupdatabasen till MySQL-servern kan du använda följande kommando, med följande kommando måste du bekräfta att databasen har skapats:

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

Ovanstående kommando använder en pipe för att importera de exporterade data till den angivna fjärrvärden.

发表 评论

Din e-postadress kommer inte att publiceras. 必填 项 已 用 * 标注

Bläddra till början