MySQL-Exportdaten
In MySQL können Sie die Anweisung SELECT...INTO OUTFILE verwenden, um Daten einfach in eine Textdatei zu exportieren.
Verwenden Sie die SELECT ... INTO OUTFILE-Anweisung, um Daten zu exportieren
Im folgenden Beispiel exportieren wir die Daten der Datentabelle „tutorials_tbl“ in die Datei /tmp/tutorials.txt:
mysql> SELECT * FROM tutorials_tbl -> INTO OUTFILE '/tmp/tutorials.txt';
Sie können das angegebene Format der Datenausgabe über Befehlsoptionen festlegen. Das folgende Beispiel dient zum Exportieren im CSV-Format:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt' -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n';
Im folgenden Beispiel wird eine Datei generiert und jeweils Der Wert wird durch Kommas getrennt. Dieses Format kann von vielen Programmen verwendet werden.
SELECT a,b,a+b INTO OUTFILE '/tmp/result.text' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table;
SELECT ... INTO OUTFILE-Anweisung hat die folgenden Attribute :
LOAD DATA INFILE ist die umgekehrte Operation der SELECT ... INTO OUTFILE, SELECT-Syntax . Um Daten aus einer Datenbank in eine Datei zu schreiben, verwenden Sie SELECT ... INTO OUTFILE, und um die Datei wieder in die Datenbank einzulesen, verwenden Sie LOAD DATA INFILE.
SELECT...INTO OUTFILE 'file_name' Form von SELECT kann die ausgewählten Zeilen in eine Datei schreiben. Die Datei wird auf dem Serverhost erstellt. Sie müssen daher über FILE-Berechtigungen verfügen, um diese Syntax verwenden zu können.
Die Ausgabe darf keine vorhandene Datei sein. Verhindern Sie, dass Dateidaten manipuliert werden.
Sie müssen über ein Konto beim Server angemeldet sein, um Dateien abrufen zu können. Andernfalls hat SELECT ... INTO OUTFILE keine Auswirkung.
Unter UNIX wird die Datei lesbar erstellt und die Berechtigungen liegen beim MySQL-Server. Das bedeutet, dass Sie die Datei zwar lesen, aber möglicherweise nicht löschen können.
Tabellen als Rohdaten exportieren
mysqldump ist ein Dienstprogramm, das von MySQL zum Übertragen von Speicherdatenbanken verwendet wird. Es generiert hauptsächlich ein SQL-Skript, das die Befehle CREATE TABLE INSERT usw. enthält, die erforderlich sind, um die Datenbank von Grund auf neu zu erstellen.
Die Verwendung von mysqldump zum Exportieren von Daten erfordert die Verwendung der Option --tab, um das in der Exportdatei angegebene Verzeichnis anzugeben. Das Ziel muss beschreibbar sein.
Das folgende Beispiel exportiert die Datentabelle „tutorials_tbl“ in das Verzeichnis /tmp:$ mysqldump -u root -p --no-create-info \ --tab=/tmp TUTORIALS tutorials_tbl password ******Daten im SQL-Format exportierenDaten im SQL-Format in die angegebene Datei exportieren, wie folgt Anzeige:
$ mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txt password ******Der Inhalt der mit dem obigen Befehl erstellten Datei lautet wie folgt:
-- MySQL dump 8.23 -- -- Host: localhost Database: TUTORIALS --------------------------------------------------------- -- Server version 3.23.58 -- -- Table structure for table `tutorials_tbl` -- CREATE TABLE tutorials_tbl ( tutorial_id int(11) NOT NULL auto_increment, tutorial_title varchar(100) NOT NULL default '', tutorial_author varchar(40) NOT NULL default '', submission_date date default NULL, PRIMARY KEY (tutorial_id), UNIQUE KEY AUTHOR_INDEX (tutorial_author) ) TYPE=MyISAM; -- -- Dumping data for table `tutorials_tbl` -- INSERT INTO tutorials_tbl VALUES (1,'Learn PHP','John Poul','2007-05-24'); INSERT INTO tutorials_tbl VALUES (2,'Learn MySQL','Abdul S','2007-05-24'); INSERT INTO tutorials_tbl VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');Wenn Sie die Daten der gesamten Datenbank exportieren müssen, können Sie dies tun Verwenden Sie den folgenden Befehl:
$ mysqldump -u root -p TUTORIALS > database_dump.txt password ******Wenn Sie alle Datenbanken sichern müssen, können Sie den folgenden Befehl verwenden:
$ mysqldump -u root -p --all-databases > database_dump.txt password ******--all-databases-Option wurde in MySQL 3.23 hinzugefügt .12 und spätere Versionen. Mit dieser Methode kann eine Datenbanksicherungsstrategie implementiert werden. Datentabellen und Datenbanken auf andere Hosts kopierenWenn Sie Daten auf andere MySQL-Server kopieren müssen, können Sie den Datenbanknamen und die Datentabellen im Befehl mysqldump angeben. Führen Sie den folgenden Befehl auf dem Quellhost aus, um die Daten in der Datei dump.txt zu sichern:
$ mysqldump -u root -p database_name table_name > dump.txt password *****Wenn Sie die Datenbank vollständig sichern, ist die Verwendung von a nicht erforderlich spezifischer Tabellenname. Wenn Sie die gesicherte Datenbank in den MySQL-Server importieren müssen, können Sie den folgenden Befehl verwenden. Sie müssen bestätigen, dass die Datenbank mit dem folgenden Befehl erstellt wurde:
$ mysql -u root -p database_name < dump.txt password *****Sie können auch den folgenden Befehl verwenden, um die exportierten Daten direkt auf den Remote-Server zu importieren. Bitte stellen Sie jedoch sicher, dass die beiden Server verbunden sind und aufeinander zugreifen können: 94b3e26ee717c64999d7867364b1b4a3
$ mysqldump -u root -p database_name \ | mysql -h other-host.com database_namePipelines werden in den obigen Befehlen verwendet, um die exportierten Daten auf den angegebenen Remote-Host zu importieren. 【Verwandte Empfehlungen】
1. Besondere Empfehlung: Version „php Programmer Toolbox“ V0.1 herunterladen
2. Kostenloses MySQL online Video-Tutorial
3. Diese Dinge über Datenbankdesign
Das obige ist der detaillierte Inhalt vonFassen Sie das Beispiel-Tutorial zum Exportieren von Daten aus MySQL zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!