Artikel Directory
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!