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_datos
fichero_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
,-c
lista_de_columnas
Esta 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
,-C
Comprime 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ón
a menudo es'd:t:o,
nombre_de_fichero
'. -
--delete
,-D
Vací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
,-f
Ignora 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
,-h
nombre_de_equipo
Importa datos al servidor MySQL en el equipo dado. El equipo por defecto es
localhost
. -
--ignore
,-i
Consulte la descripción para la opción
--replace
. -
--ignore-lines=
n
Ignora las primeras
n
líneas del fichero de datos. -
--local
,-L
Lee los ficheros de entrada localmente del equipo cliente.
-
--lock-tables
,-l
Bloquea 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ña
a continuación de--password
o-p
en la línea de comandos, aparece un prompt para que lo introduzca. -
--port=
número_de_puerto
,-P
número_de_puerto
El 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
,-r
Las opciones
--replace
y--ignore
controlan 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
,-s
Modo silencioso. Sólo muestra mensajes de error.
-
--socket=
ruta
,-S
ruta
Fichero socket a usar al conectar con
localhost
(que es el equipo por defecto). -
--user=
nombre_de_usuario
,-u
nombre_de_usuario
El nombre de usuario MySQL a usar cuando se conecta con el servidor.
-
--verbose
,-v
Modo explícito. Muestra más información sobre lo que hace el programa.
-
--version
,-V
Muestra 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 | +------+---------------+