|
MySQL: Cómo cargar un fichero de texto plano en una tabla MySQL
Os explicamos cómo importar el contenido de un fichero de texto plano a una tabla MySQL. Cada línea del fichero se corresponderá con un registro de la tabla MySQL. Para ello utilizaremos la función LOAD DATA INFILE de MySQL. MySQL cuenta con un función muy útil para importar datos de forma automática, llamada LOAD DATA. Esta función permite importar a registros de una tabla MySQL el contenido de un fichero de texto plano. El fichero de texto debe cumplir unos requisitos, obviamente, para que la función LOAD DATA pueda reconocerlos. A continuación os mostramos un ejemplo de contenido válido de este fichero. Para realizar las pruebas oportunas crearemos, en primer lugar, una tabla en MySQL, con la siguiente consulta SQL: create table importacion ( codigo int primary key, nombre varchar(100) unique not null, fecha date, importe float, observacion text, facturado varchar(1) ) Para ejecutar esta consulta SQL podemos utilizar el software Open Source AjpdSoft Administración Bases de Datos:
A continuación ejecutaremos la siguiente consulta SQL para comprobar que la tabla "importacion" se ha creado correctamente: select * from importacion
A continuación crearemos el fichero de texto plano (sin formato) que contendrá los registros que serán importados de forma automática en la tabla "importación" utilizando la función LOAD DATA de MySQL. Para ello crearemos un fichero (con el bloc de notas o cualquier otro editor de texto sin formato) con el siguiente contenido:
Y lo guardaremos con el nombre "importar.txt" en la unidad C. Tras crear el fichero de texto plano abriremos el software de acceso a MySQL, AjpdSoft Administración Bases de Datos y ejecutaremos la siguiente consulta SQL:
Ejecutando la consulta SQL:
Podremos ver el resultado de la importación del fichero de texto plano: La función LOAD DATA LOCAL INFILE cuenta con varios parámetros de configuración:
Si quisiéramos que MySQL espere a ejecutar la sentencia de importación hasta que no haya usuarios leyendo en la tabla en la que se importarán podríamos utilizar la cláusula: LOW_PRIORITY, de esta forma:
Aunque esta propiedad es sólo válida para tablas MySQL de tipo MyISAM, MEMORY, MERGE. También podremos indicar el juego de caracteres del fichero del que se importará la información, con:
Anuncios
Enviado el Lunes, 01 septiembre a las 01:00:10 por ajpdsoft
|
|