Latest web development tutorials

Eksport danych MySQL

MySQL można użyć SELECT ... INTO sprawozdania OUTFILE eksportować dane do zwykłego pliku tekstowego.


Użyj SELECT ... INTO sprawozdania OUTFILE do eksportu danych

Poniższe przykłady, będziemy eksportować dane do tabeli danych w3big_tbl /tmp/tutorials.txt pliku:

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

Można ustawić format danych wyjściowych określonej przez opcji poleceń, następujące przykłady są eksportowane w formacie CSV:

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

W poniższym przykładzie plik jest generowany, wartości oddzielonych przecinkami. Format ten jest używany przez kilka programów.

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 ma następujące właściwości:

  • LOAD DATA INFILE SELECT ... INTO OUTFILE jest operacja odwrotna, składni SELECT. W celu zapisu danych do bazy danych w pliku, użyj SELECT ... INTO OUTFILE, aby odczytać plik z powrotem do bazy danych, wykorzystanie LOAD DATA INFILE.
  • SELECT ... INTO 'nazwa_pliku' OUTFILE forma SELECT linii można wybrać zapisać plik. Plik ten jest tworzony na komputerze serwera, więc trzeba mieć przywilej plik do użycia tej składni.
  • Wyjście nie jest plikiem, który już istnieje. File zapobiec dane przed uszkodzeniem.
  • Trzeba mieć konto logowania do serwera w celu pobrania pliku. Inaczej SELECT ... INTO OUTFILE nie odgrywają żadnej roli.
  • W systemie UNIX, po utworzeniu pliku jest czytelny przywileje posiadane przez serwer MySQL. Oznacza to, że choć można odczytać pliku, ale nie mogą być usunięte.

Eksportu danych do oryginalnej tabeli

mysqldump mysql służy do włączania bazy danych Utility jest przechowywany. To głównie produkcją skrypt SQL, który zawiera polecenie, aby ponownie utworzyć bazę danych od podstaw niezbędnych Utwórz tabelę wkładać i tak dalej.

Użyj mysqldump do eksportu danych wymaga --tab możliwość określenia katalogu określonego w pliku eksportu, obiekt musi być napisane.

Poniższy przykład wyeksportuje w3big_tbl tabeli danych do katalogu / tmp:

$ mysqldump -u root -p --no-create-info \
            --tab=/tmp w3big w3big_tbl
password ******

Eksport danych w formacie SQL

Eksport danych SQL do określonego formatu pliku, w następujący sposób:

$ mysqldump -u root -p w3big w3big_tbl > dump.txt
password ******

Pliki treści tworzone przez powyższego polecenia w następujący sposób:

-- MySQL dump 8.23
--
-- Host: localhost    Database: w3big
---------------------------------------------------------
-- Server version       3.23.58

--
-- Table structure for table `w3big_tbl`
--

CREATE TABLE w3big_tbl (
  w3big_id int(11) NOT NULL auto_increment,
  w3big_title varchar(100) NOT NULL default '',
  w3big_author varchar(40) NOT NULL default '',
  submission_date date default NULL,
  PRIMARY KEY  (w3big_id),
  UNIQUE KEY AUTHOR_INDEX (w3big_author)
) TYPE=MyISAM;

--
-- Dumping data for table `w3big_tbl`
--

INSERT INTO w3big_tbl 
       VALUES (1,'Learn PHP','John Poul','2007-05-24');
INSERT INTO w3big_tbl 
       VALUES (2,'Learn MySQL','Abdul S','2007-05-24');
INSERT INTO w3big_tbl 
       VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');

Jeśli chcesz wyeksportować dane dla całej bazy danych, można użyć następującego polecenia:

$ mysqldump -u root -p w3big > database_dump.txt
password ******

Jeśli trzeba wykonać kopię zapasową wszystkich baz danych, można użyć następującego polecenia:

$ mysqldump -u root -p --all-databases > database_dump.txt
password ******

--all-baz opcja została dodana w MySQL 3.23.12 lub nowszej.

Metoda ta może być stosowana w celu realizacji strategii tworzenia kopii zapasowych bazy danych.


Arkusz danych i kopii bazy danych do innego hosta

Jeśli chcesz skopiować dane do innego serwera MySQL, można podać nazwę bazy danych i tabel w komendzie mysqldump.

Wykonaj następujące polecenie na komputerze źródłowym, kopię zapasową danych dump.txt pliku:

$ mysqldump -u root -p database_name table_name > dump.txt
password *****

Jeżeli pełnej kopii zapasowej bazy danych, nie ma potrzeby korzystania z określonej nazwy tabeli.

Jeśli trzeba wykonać kopię zapasową bazy danych do serwera MySQL, można użyć następującego polecenia, należy użyć następującego polecenia, czego potrzeba, aby upewnić się, że baza danych została utworzona:

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

Powyższe polecenie jest używane w rurociągu do eksportu danych do określonego zdalnego hosta.