Manual de MySQL
campo se separa con otro carácter (coma por ejemplo) y los valores de los campos
podrían ir delimitados con otros caracteres (como las comillas).
Para conseguir los datos en este formato, se pueden colocar a mano, o bien se
pueden crear a través de software especial que consiga colocar registros en este formato
(programas como Excel, Access u otros muchos poseen herramientas para realizar estas
operaciones.
Una vez creado el archivo, desde MySQL se podría usar el comando load data:
load data local infile "ruta" into table tabla;
Ejemplo:
mysql>load data infile
->“C:\\mysql\data\prueba\texto.txt”
->into table personas;
La ruta es la ruta completa al archivo de texto que posee los datos. La tabla es la tabla a
la cual se desean añadir dichos datos. Para que esta instrucción funcione correctamente,
el orden de los campos en la tabla debe ser el mismo que en el archivo. Salvo que se
indique una lista con el orden de los campos según aparecen en el archivo externo. Esta
lista se coloca entre paréntesis, al final de la instrucción load data. Ejemplo:
mysql>load data infile
->“C:\\mysql\data\prueba\texto.txt”
->into table personas
->(nombre, dni, apellido1, apellido2);
En numerosas instalaciones podría fallar el uso de load data por que MySQL podría no
darnos permiso para su uso. Esa situación se puede arreglar entrando en el monitor
añadiendo la opción --local-infile=1. Lo cual significa que habilitamos la posibilidad
de importar datos. Ejemplo (de llamada al monitor habilitando archivos externos):
mysql -u administrador -p -h localhost --local-infile=1
A la hora de importar los datos se pueden reemplazar los valores duplicados
adelantando la palabra REPLACE a la palabra INTO.
El texto FIELDS TERMINATED BY seguido de un carácter entrecomillado indica
qué signo delimita cada campo, el texto ENCLOSED BY seguido de otro carácter,
indica qué signo envuelve a cada campo. Ejemplo:
mysql>load data infile “/ejemplos/datos.txt” into table
personas fields terminated by ’,’ enclosed by ‘”’;
También se puede utilizar el texto lines terminated by seguido del carácter de fin de
línea (normalmente el fin de línea es “\r\n”, pero habrá que tenerlo en cuenta si fallara
la exportación:
mysql>load data infile “/ejemplos/datos.txt” into table
personas fields terminated by ’,’ enclosed by ‘”’
13