Latest web development tutorials

экспорт данных MySQL

MySQL вы можете использовать SELECT ... INTO OUTFILE отчетности , чтобы экспортировать данные в простой текстовый файл.


С помощью SELECT ... INTO OUTFILE заявления для экспорта данных

Ниже приведены примеры, мы будем экспортировать данные в таблицу данных w3big_tbl /tmp/tutorials.txt файла:

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

Вы можете установить формат вывода данных, указанных опций команды, следующие примеры экспортируются в формате CSV:

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

В следующем примере создается файл, значения, разделенные запятыми. Этот формат используется несколькими программами.

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 заявление обладает следующими свойствами:

  • LOAD DATA INFILE SELECT ... INTO OUTFILE является обратная операция, SELECT синтаксис. Для того, чтобы записать данные в базу данных в файле, используйте SELECT ... INTO OUTFILE, чтобы прочитать файл обратно в базу данных, использование команды LOAD DATA INFILE.
  • SELECT ... INTO 'file_name' OUTFILE форма выбора строк можно выбрать записи файла. Файл создается на хосте сервера, поэтому вы должны иметь привилегию FILE, чтобы использовать этот синтаксис.
  • Выходной файл не является файлом, который уже существует. Файл защитить данные от подделки.
  • Вам нужно иметь сервер Логин учетной записи, чтобы получить файл. В противном случае SELECT ... INTO OUTFILE не будет играть никакой роли.
  • В UNIX, после того, как файл создан для чтения привилегии, принадлежащие серверу MySQL. Это означает, что, хотя вы можете прочитать файл, но не могут быть удалены.

Экспорт данных в качестве исходной таблицы

туздЫшпр MySQL используется для включения базы данных утилиты хранятся. Он главным образом производит сценарий SQL, который содержит команду, чтобы заново создать базу данных с нуля необходимой инструкции CREATE TABLE INSERT и так далее.

Используйте туздЫшпр для экспорта данных требуется --tab параметр, чтобы указать каталог, указанный в файле экспорта, то объект должен быть записан.

В следующем примере будет экспортировать таблицы данных w3big_tbl в каталог / TMP:

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

Экспорт данных в формате SQL

Экспорт данных SQL в указанный формат файла, следующим образом:

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

Содержимое файлов, созданных с помощью приведенной выше команды следующим образом:

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

Если вам нужно экспортировать данные для всей базы данных, вы можете использовать следующую команду:

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

Если вам необходимо создать резервную копию всех баз данных, вы можете использовать следующую команду:

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

--all-баз данных опция была добавлена ​​в MySQL 3.23.12 или более поздней версии.

Этот метод может быть использован для реализации стратегии резервного копирования базы данных.


Лист данных и копии базы данных на другой хост

Если вам необходимо скопировать данные на другой сервер MySQL, вы можете указать имя таблиц базы данных и данных в команде туздЫшпр.

Выполните следующую команду на исходном хосте, резервное копирование данных на dump.txt файла:

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

Если полной резервной копии базы данных, вам не нужно использовать конкретное имя таблицы.

Если вам необходимо создать резервную копию базы данных на сервере MySQL, вы можете использовать следующую команду, используйте следующую команду вам необходимо убедиться, что база данных была создана:

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

Приведенная выше команда используется в трубопроводе, чтобы экспортировать данные в определенный удаленный хост.