MySQL – Importación de base de datos – Métodos de recuperación

MySQL proporciona dos formas sencillas de cargar datos en una base de datos MySQL desde un archivo previamente respaldado.

Importación de datos con carga de datos

MySQL proporciona una declaración LOAD DATA que actúa como un cargador de datos masivo. Aquí hay un ejemplo de una declaración que lee un archivo. dump.txt de su directorio actual y lo carga en una tabla mytbl en la base de datos actual.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
  • Si un LOCAL falta la palabra clave, MySQL busca un archivo de datos en el servidor utilizando mirando el camino absoluto, que define completamente la ubicación del archivo, comenzando en la raíz del sistema de archivos. MySQL lee el archivo desde la ubicación especificada.

  • Defecto, DESCARGAR DATOS asume que los archivos de datos contienen líneas que terminan con una nueva línea (nueva línea) y que los valores de datos dentro de la línea están delimitados por tabulaciones.

  • Para especificar explícitamente el uso del formato de archivo CAMPOS una propuesta para describir las características de los campos en la cadena y LÍNEAS oración para indicar la secuencia del final de línea. Siguiente DESCARGAR DATOS La declaración indica que el archivo de datos contiene valores separados por dos puntos y líneas terminadas con un retorno de carro y un carácter de nueva línea.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
   -> FIELDS TERMINATED BY ':'
   -> LINES TERMINATED BY 'rn';
  • LOAD DATA asume que las columnas del archivo de datos están en el mismo orden que las columnas de la tabla. De lo contrario, puede especificar una lista para especificar en qué columnas de la tabla cargar las columnas del archivo de datos. Suponga que su tabla tiene las columnas a, byc, pero las columnas consecutivas en el archivo de datos corresponden a las columnas b, cy a.

Puede cargar el archivo como se muestra en el siguiente bloque de código.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
   -> INTO TABLE mytbl (b, c, a);

Importando datos con mysqlimport

MySQL también incluye una utilidad llamada mysqlimport que actúa como un contenedor para LOAD DATA, por lo que puede cargar archivos de entrada directamente desde la línea de comando.

Para cargar datos desde dump.txt en mytblutilice el siguiente comando en la línea de comandos de UNIX.

$ mysqlimport -u root -p --local database_name dump.txt
password *****

Si esta usando mysqlimportLos parámetros de la línea de comandos proporcionan especificadores de formato. EN mysqlimport comandos que coinciden con los dos anteriores DESCARGAR DATOS las declaraciones se parecen al siguiente bloque de código.

$ mysqlimport -u root -p --local --fields-terminated-by = ":" 
   --lines-terminated-by = "rn"  database_name dump.txt
password *****

El orden en el que especifique los parámetros es irrelevante para mysqlimport, excepto que todos deben ir antes del nombre de la base de datos.

EN mysqlimport la declaración usa –columnas la capacidad de especificar el orden de las columnas –

$ mysqlimport -u root -p --local --columns=b,c,a 
   database_name dump.txt
password *****

Manejo de citas y caracteres especiales

La cláusula FIELDS puede especificar otros parámetros de formato además DESCONTINUAR… Por defecto, LOAD DATA asume que los valores no están entrecomillados e interpreta la barra invertida () como un carácter de escape para caracteres especiales. Para especificar explícitamente el uso de caracteres de cotización de valor CERRADO equipo. MySQL eliminará este carácter de los extremos de los valores de datos durante el procesamiento de entrada. Para cambiar el uso del carácter de escape predeterminado EL ESCAPE

Cuando especifica ENCLOSED BY para indicar que las comillas deben eliminarse de los valores de datos, puede encerrar literalmente las comillas en los valores de datos duplicándolas o precediéndolas con un carácter de escape.

Por ejemplo, si las comillas y los caracteres de escape son «y «, el valor de entrada «a B C « será interpretado como a B C

Por mysqlimport, las opciones de línea de comando correspondientes para especificar comillas y valores de escape: –campos-prisioneros-por y –fields-escape-by

🚫