El cliente mysqlimport proporciona una interfaz
de línea de comandos para el comando LOAD DATA
INFILE. La mayoría de opciones de
mysqlimport se corresponden directamente con
cláusulas de LOAD DATA INFILE. Consulte
Sección 13.2.5, “Sintaxis de LOAD DATA INFILE”.
Invoque mysqlimport así:
shell> mysqlimport [opciones]nombre_de_base_de_datosfichero_de_texto1[fichero_de_texto2...]
Del nombre de cada fichero de texto especificado en la línea de
comandos, mysqlimport elimina cualquier
extensión, y utliza el resultado para determinar el nombre de la
tabla a la que importar el contenido del fichero. Por ejemplo, los
ficheros con nombres patient.txt,
patient.text y patient
se importarían todos a la tabla llamada
patient.
mysqlimport soporta las siguientes opciones:
-
--help,-?Muestra un mensaje de ayuda y sale.
-
--columns=lista_de_columnas,-clista_de_columnasEsta opción admite una lista de nombres de columnas separados por comas. El orden de los nombres de columna indica cómo emparejar las columnas de los ficheros de datos con las columnas de la tabla.
-
--compress,-CComprime toda la información enviada entre el cliente y el servidor, si ambos soportan compresión.
-
--debug[=opciones_de_depuración],-# [opciones_de_depuración]Escribe un log de depuración. La cadena de caracteres
opciones_de_depuracióna menudo es'd:t:o,nombre_de_fichero'. -
--delete,-DVacía la tabla antes de importar el fichero de texto.
-
--fields-terminated-by=...,--fields-enclosed-by=...,--fields-optionally-enclosed-by=...,--fields-escaped-by=...,--lines-terminated-by=...Estas opciones tienen el mismo significado que las cláusulas correspondientes de
LOAD DATA INFILE. Consulte Sección 13.2.5, “Sintaxis deLOAD DATA INFILE”. -
--force,-fIgnora errores. Por ejemplo, si una tabla para un fichero de texto no existe, sigue procesando el resto de ficheros. Sin
--force, mysqlimport finaliza si la tabla no existe. -
--host=nombre_de_equipo,-hnombre_de_equipoImporta datos al servidor MySQL en el equipo dado. El equipo por defecto es
localhost. -
--ignore,-iConsulte la descripción para la opción
--replace. -
--ignore-lines=nIgnora las primeras
nlíneas del fichero de datos. -
--local,-LLee los ficheros de entrada localmente del equipo cliente.
-
--lock-tables,-lBloquea todas las tablas para escritura antes de procesar cualquier fichero de texto. Esto asegura que todas las tablas estén sincronizadas en el servidor.
-
--password[=contraseña],-p[contraseña]La contraseña a usar cuando se conecta al servidor. Si usa la opción en su forma corta (
-p), no puede haber un espacio entre la opción y la contraseña. Si omite el valor decontraseñaa continuación de--passwordo-pen la línea de comandos, aparece un prompt para que lo introduzca. -
--port=número_de_puerto,-Pnúmero_de_puertoEl puerto TCP/IP para usar en la conexión.
-
--protocol={TCP | SOCKET | PIPE | MEMORY}El protocolo de conexión a usar. Nuevo en MySQL 4.1.
-
--replace,-rLas opciones
--replacey--ignorecontrolan el tratamiento de registros de entrada que duplican registros existentes con valores clave únicos. Si especifica--replace, los nuevos registros replazan los existentes que tengan el mismo valor clave. Si especifica--ignore, los registros nuevos que duplican un registro existente con el mismo valor clave se ignoran. Si no especifica ninguna opción, se produce un error cuando se encuentra un valor duplicado, y el resto del fichero de texto se ignora. -
--silent,-sModo silencioso. Sólo muestra mensajes de error.
-
--socket=ruta,-SrutaFichero socket a usar al conectar con
localhost(que es el equipo por defecto). -
--user=nombre_de_usuario,-unombre_de_usuarioEl nombre de usuario MySQL a usar cuando se conecta con el servidor.
-
--verbose,-vModo explícito. Muestra más información sobre lo que hace el programa.
-
--version,-VMuestra información de versión y sale.
Ejemplo de una sesión que demuestra el uso de mysqlimport:
shell> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test shell> ed a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q shell> od -c imptest.txt 0000000 1 0 0 \t M a x S y d o w \n 1 0 0000020 1 \t C o u n t D r a c u l a \n 0000040 shell> mysqlimport --local test imptest.txt test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 shell> mysql -e 'SELECT * FROM imptest' test +------+---------------+ | id | n | +------+---------------+ | 100 | Max Sydow | | 101 | Count Dracula | +------+---------------+