Hvordan eksporterer man datafiler fra Linux MySQL-database?eksport csv-sætningskommando

Linux MySQL databaseHvordan eksporterer man datafiler?eksport csv-sætningskommando

MySQLeksportere datadata

I MySQL kan du brugeVÆLG ... I UDFILsætning for blot at eksportere data til en tekstfil.


Eksporter data ved hjælp af SELECT ... INTO OUTFILE-sætningen

I det følgende eksempel eksporterer vi datatabellen til filen /tmp/tutorials.txt:

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

Du kan indstille det angivne format for dataoutput gennem kommandoindstillinger. Følgende eksempel er til eksport af CSV-format:

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

I eksemplet nedenfor genereres en fil med værdier adskilt af kommaer.Dette format kan bruges af mange programmer.

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

SELECT ... INTO OUTFILE-sætningen har følgende attributter:

  • LOAD DATA INFILE er den omvendte operation af SELECT ... INTO OUTFILE, SELECT syntaks.For at skrive data fra en database til en fil, brug SELECT ... INTO OUTFILE, og for at læse filen tilbage i databasen, brug LOAD DATA INFILE.
  • SELECT ... INTO OUTFILE Et SELECT af formen 'fil_navn' kan skrive de valgte linjer til en fil.Filen oprettes på serverværten, så du skal have FILE-tilladelse for at bruge denne syntaks.
  • Outputtet kan ikke være en eksisterende fil.Undgå, at fildata bliver manipuleret.
  • Skal du have en konto for at logge ind på serveren for at hente filer.Ellers har SELECT ... INTO OUTFILE ingen effekt.
  • I UNIX er filen oprettet til at være læsbar, og tilladelserne ejes af MySQL-serveren.Det betyder, at mens du kan læse filen, kan du muligvis ikke slette den.

Eksporter tabel som rådata

Det producerer hovedsageligt et SQL-script, der indeholder kommandoerne CREATE TABLE INSERT osv., der er nødvendige for at genskabe databasen fra bunden.

For at eksportere data ved hjælp af mysqldump skal du bruge –tab-indstillingen til at angive den mappe, der er angivet af eksportfilen, og målet skal være skrivbart.

Følgende eksempel eksporterer datatabellen chenweiliang_tbl til mappen /tmp:

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

Eksporter data i SQL-format

Eksporter data i SQL-format til den angivne fil, som følger:

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

Indholdet af filen oprettet af ovenstående kommando er som følger:

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

Hvis du har brug for at eksportere data fra hele databasen, kan du bruge følgende kommando:

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

Hvis du har brug for at sikkerhedskopiere alle databaser, kan du bruge følgende kommando:

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

Indstillingen --all-databases blev tilføjet i MySQL 3.23.12 og nyere.

Denne metode kan bruges til at implementere en database backup strategi.


Kopier datatabeller og databaser til andre værter

Hvis du har brug for at kopiere data til en anden MySQL-server, kan du angive databasenavnet og tabellen i mysqldump-kommandoen.

Udfør følgende kommando på kildeværten for at sikkerhedskopiere dataene til dump.txt-filen:

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

Hvis du sikkerhedskopierer hele din database, behøver du ikke bruge et specifikt tabelnavn.

Hvis du skal importere backupdatabasen til MySQL-serveren, kan du bruge følgende kommando, ved at bruge følgende kommando skal du bekræfte, at databasen er blevet oprettet:

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

Ovenstående kommando bruger et rør til at importere de eksporterede data til den angivne fjernvært.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) delt "Hvordan eksporteres datafiler fra Linux MySQL-database?Eksporter csv-sætningskommando" for at hjælpe dig.

Velkommen til at dele linket til denne artikel:https://www.chenweiliang.com/cwl-501.html

For at låse op for flere skjulte tricks🔑, velkommen til at blive en del af vores Telegram-kanal!

Del og like hvis du kan lide det! Dine delinger og likes er vores fortsatte motivation!

 

发表 评论

Din e-mailadresse vil ikke blive offentliggjort. 必填 项 已 用 * 标注

Rul til top