Latest web development tutorials

exportación de datos MySQL

MySQL puede utilizar SELECT ... INTO OUTFILE para exportar los datos a un archivo de texto simple.


Utilice SELECT ... INTO OUTFILE a los datos de exportación

Los siguientes ejemplos, que van a exportar los datos a un archivo de tabla de datos w3big_tbl /tmp/tutorials.txt:

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

Puede establecer el formato de datos de salida especificado por las opciones de comando, los siguientes ejemplos se exportan en formato CSV:

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

En el siguiente ejemplo, se genera un archivo, los valores separados por comas. Este formato es utilizado por varios programas.

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 tiene las siguientes propiedades:

  • LOAD DATA INFILE SELECT ... INTO OUTFILE es la operación inversa, la sintaxis SELECT. Con el fin de escribir datos en una base de datos en un archivo, utilice SELECT ... INTO OUTFILE, para leer el archivo de nuevo en la base de datos, DATA INFILE uso CARGA.
  • SELECT ... INTO OUTFILE 'file_name' forma de líneas de selección se puede seleccionar un archivo de escritura. El archivo se crea en el equipo servidor, por lo que debe tener el permiso FILE para utilizar esta sintaxis.
  • La salida no es un archivo que ya existe. Presentar evitar que se manipulen los datos.
  • Es necesario tener un servidor de cuentas de inicio de sesión para recuperar el archivo. De lo contrario SELECT ... INTO OUTFILE no jugará ningún papel.
  • En UNIX, después de que se creó el archivo es propiedad de privilegios de lectura servidor MySQL. Esto significa que, si bien se puede leer el archivo, pero no puede ser eliminado.

Los datos de exportación como la tabla original

mysql mysqldump se utiliza para activar la base de datos se almacena utilidad. Se produce principalmente una secuencia de comandos SQL que contiene el comando para volver a crear la base de datos desde cero necesaria CREAR TABLA INSERT y así sucesivamente.

Utilizar mysqldump para exportar datos requiere la opción --tab para especificar el directorio especificado en el archivo de exportación, el objeto debe ser escrito.

El siguiente ejemplo se exportará el w3big_tbl tabla de datos en el directorio / tmp:

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

exportar datos en formato SQL

Exportación de SQL Server datos en el formato de archivo especificado, de la siguiente manera:

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

Los archivos de contenido creado por el comando anterior de la siguiente manera:

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

Si necesita exportar los datos de la base de datos, puede utilizar el siguiente comando:

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

Si necesita realizar una copia de seguridad de todos los bases de datos, puede utilizar el siguiente comando:

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

--all-databases opción se añadió en MySQL 3.23.12 o posterior.

Este método se puede utilizar para implementar la estrategia de copia de seguridad de bases de datos.


La hoja de datos y copia de la base de datos a otro host

Si es necesario copiar los datos a otro servidor MySQL, puede especificar el nombre de las tablas de la base de datos y en el comando mysqldump.

Ejecute el siguiente comando en el host de origen, una copia de seguridad de datos de archivo dump.txt:

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

Si la copia de seguridad completa de la base de datos, no es necesario utilizar un nombre de tabla específica.

Si necesita una copia de seguridad de la base de datos en el servidor MySQL, puede utilizar el siguiente comando, use el siguiente comando que necesita para asegurarse de que la base de datos ha sido creado:

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

El comando anterior se usa en el gasoducto para exportar los datos en el host remoto especificado.