Heim  >  Artikel  >  Datenbank  >  [MySQL-Tutorial] MySQL-Exportdaten

[MySQL-Tutorial] MySQL-Exportdaten

黄舟
黄舟Original
2016-12-26 17:22:161113Durchsuche

MySQL-Exportdaten

In MySQL können Sie die SELECT...INTO OUTFILE-Anweisung 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. Dabei wird hauptsächlich ein SQL-Skript erstellt, 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 exportieren

Exportieren SQL formatiert die Daten wie unten gezeigt in die angegebene Datei:

$ 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 exportieren müssen Um die Daten der gesamten Datenbank zu sichern, können Sie den folgenden Befehl verwenden:

$ 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 ******

-- Die Option „all-databases“ wurde in MySQL 3.23.12 und späteren Versionen hinzugefügt.

Mit dieser Methode kann eine Datenbanksicherungsstrategie implementiert werden.

Datentabellen und Datenbanken auf andere Hosts kopieren
Wenn 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 es nicht erforderlich, einen bestimmten Tabellennamen zu verwenden .

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

Wird im obigen Befehl verwendet. Eine Pipeline wird verwendet, um die exportierten Daten auf den angegebenen Remote-Host zu importieren.

Das Obige ist der Inhalt von [MySQL-Tutorial] MySQL-Exportdaten. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn