Hoe gegevensbestanden uit de Linux MySQL-database te exporteren?export csv instructie commando

Linux MySQL-databaseHoe gegevensbestanden exporteren?opdracht csv-instructie exporteren

MySQLgegevensgegevens exporteren

In MySQL kunt u gebruik maken vanSELECTEER … IN OUTFILEstatement om eenvoudig gegevens naar een tekstbestand te exporteren.


Exporteer gegevens met behulp van de instructie SELECT ... INTO OUTFILE

In het volgende voorbeeld zullen we de gegevenstabel exporteren naar het bestand /tmp/tutorials.txt:

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

U kunt het opgegeven formaat voor gegevensuitvoer instellen via opdrachtopties. Het volgende voorbeeld is voor het exporteren van het CSV-formaat:

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

In het volgende voorbeeld wordt een bestand gegenereerd met waarden gescheiden door komma's.Dit formaat kan door veel programma's worden gebruikt.

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

De instructie SELECT ... INTO OUTFILE heeft de volgende kenmerken:

  • LOAD DATA INFILE is de omgekeerde bewerking van SELECT ... INTO OUTFILE, SELECT-syntaxis.Om gegevens van een database naar een bestand te schrijven, gebruikt u SELECT ... INTO OUTFILE, en om het bestand terug in de database te lezen, gebruikt u LOAD DATA INFILE.
  • SELECT ... IN OUTFILE Een SELECT van de vorm 'file_name' kan de geselecteerde regels naar een bestand schrijven.Het bestand wordt gemaakt op de serverhost, dus u moet FILE-rechten hebben om deze syntaxis te gebruiken.
  • De uitvoer mag geen bestaand bestand zijn.Voorkom dat er met bestandsgegevens wordt geknoeid.
  • Heb je een account nodig om in te loggen op de server om bestanden op te halen.Anders heeft SELECT ... INTO OUTFILE geen effect.
  • In UNIX wordt het bestand gemaakt om leesbaar te zijn en zijn de machtigingen eigendom van de MySQL-server.Dit betekent dat u het bestand weliswaar kunt lezen, maar mogelijk niet kunt verwijderen.

Tabel exporteren als onbewerkte gegevens

Het produceert voornamelijk een SQL-script dat de commando's CREATE TABLE INSERT enz. bevat die nodig zijn om de database helemaal opnieuw te maken.

Om gegevens te exporteren met behulp van mysqldump, moet u de optie –tab gebruiken om de map op te geven die door het exportbestand is opgegeven, en het doel moet beschrijfbaar zijn.

In het volgende voorbeeld wordt de gegevenstabel chenweiliang_tbl geëxporteerd naar de directory /tmp:

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

Gegevens exporteren in SQL-indeling

Exporteer gegevens in SQL-indeling als volgt naar het opgegeven bestand:

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

De inhoud van het bestand dat met de bovenstaande opdracht is gemaakt, is als volgt:

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

Als u de gegevens van de hele database moet exporteren, kunt u de volgende opdracht gebruiken:

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

Als u een back-up van alle databases moet maken, kunt u de volgende opdracht gebruiken:

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

De optie --all-databases is toegevoegd in MySQL 3.23.12 en later.

Deze methode kan worden gebruikt om een ​​back-upstrategie voor de database te implementeren.


Gegevenstabellen en databases naar andere hosts kopiëren

Als u gegevens naar een andere MySQL-server moet kopiëren, kunt u de databasenaam en tabel opgeven in de opdracht mysqldump.

Voer de volgende opdracht uit op de bronhost om een ​​back-up van de gegevens naar het dump.txt-bestand te maken:

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

Als u een volledige back-up van de database maakt, hoeft u geen specifieke tabelnaam te gebruiken.

Als u de back-updatabase naar de MySQL-server moet importeren, kunt u de volgende opdracht gebruiken, met de volgende opdracht moet u bevestigen dat de database is gemaakt:

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

De bovenstaande opdracht gebruikt een pijp om de geëxporteerde gegevens naar de opgegeven externe host te importeren.

Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Hoe gegevensbestanden uit de Linux MySQL-database exporteren?Export csv instructie commando" om u te helpen.

Welkom om de link van dit artikel te delen:https://www.chenweiliang.com/cwl-501.html

Om nog meer verborgen trucs🔑 te ontgrendelen, nodigen we je van harte uit om lid te worden van ons Telegram-kanaal!

Deel en like als je het leuk vindt! Jouw aandelen en likes zijn onze voortdurende motivatie!

 

发表 评论

Uw e-mailadres wordt niet gepubliceerd. 必填 项 已 用 * 标注

Scroll naar boven