Como usar archivos CSV en MySql

Comments   1   Date Arrow  Enero 8, 2008 at 11:54pm   User  by Pedro Marce

Una cosa que me ha sorprendido ahora que estoy empezando con MySql es la posibilidad de trabajar con archivos CSV como forma de almacenar los datos.
Obviamente no es porque sea el formato ideal ni mucho menos, pero la posibilidad de hacerlo para los muchísimos ficheros existentes en este formato es muy interesante. Especialmente porque no requiere cargar los datos mediante ningún proceso, basta con sustituir el archivo cada vez y ya tendremos los datos actualizados.
Veamos como funciona, primero deberemos definir la tabla en MySql con el formato adecuado acorde al archivo que vayamos a procesar, y lógicamente la definiremos como CSV.
Posteriormente cogemos nuestro archivo CSV y lo arreglamos para que no haya problemas, para ello debemos dejarlo delimitado por comas (nada de punto y comas u otros carácteres) y mejor si delimitamos con dobles comillas cada campo, para ello podéis usar, ajustándola a vuestro caso particular, la siguiente instrucción en el terminal:
cat archivo_origen | sed s/.$/\"/g | sed s/^/\"/g | sed s/\;/\"\,\"/g > archivo_final.CSV
Ahora ya tendremos el archivo listo, lo copiamos en el directorio donde tengamos nuestra base de datos MySql con el nombre de la tabla que hayamos creado y con la extensión CSV.
Sólo nos queda loguearnos en MySql usando el terminal y ejecutar los siguientes comandos para tener la tabla lista para trabajar.
use vuestra_base_de_datos;
flush tables;

Repitiendo esto cada vez después de haber cambiado el fichero CSV actualizaremos los datos, cómo ya he dicho sin cargas ni borrados.
Y ahora, un ejemplo de que la velocidad es bastante, o incluso muy, aceptable:
mysql> select count(*) from tabla;
+----------+
| count(*) |
+----------+
| 531441 |
+----------+
1 row in set (1.03 sec)

Tagged   linux · mamp · mysql · tutorial

1 Comments

Leave a Comment


Cerrar
Enviar por Correo