2011-03-11 22 views
6

¿Puedo almacenar archivos de datos (por ejemplo, archivos txt) en el servidor MySql? Si puedo, ¿cómo almacenarlos?Cómo almacenar archivos .txt Base de datos MySQL?

+0

Las bases de datos no están diseñadas para almacenar archivos de texto, para eso sirve el sistema de archivos. – animuson

+0

Claro, si tiene permisos de escritura de archivos en un servidor que está ejecutando MySQL, puede escribirle archivos de texto. Aunque no creo que sea eso lo que quieres decir. ¿Qué está tratando de lograr? – Andrew

+0

¿Qué tipo de archivos de texto? –

Respuesta

12

Puede usar LOAD DATA INFILE para leer el contenido de un archivo y almacenarlo en una tabla en la base de datos en un formato estructurado.

Esto puede ser considerablemente más rápido que leer y analizar el archivo en el cliente y luego usar múltiples instrucciones INSERT.

Ejemplo:

LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table; 
+1

Esto es genial no sabía que mysql tenía esta habilidad. :) +1 – Michael

+0

Esta respuesta funcionó bien ... Gracias Mark Byers – Rida

7

Sí se puede, pero probablemente sería mejor almacenarlos en el sistema de archivos y el almacenamiento de una ruta de acceso al archivo de la base de datos.

Hay algunos SO Mensajes que discuten este:

+0

Sé que el sistema de archivos puede hacer eso, pero quiero que todos los usuarios de la red puedan acceder al archivo ... y quiero evitar las consultas el servidor de la base de datos cada 0.4s por más de 30 minutos ... y esa puede ser la peor solución con una base de datos centralizada – Rida

1

Claro que puedes. Sugiero leer los datos de sus archivos y luego guardarlos en su base de datos, diría en un campo de texto.

Usted puede usar algo como this para obtener el contenido del archivo:

$file = file_get_contents('./yourfile.txt'); 

insertarla luego

Insert into myTable VALUES (mytextfile = $file) 
0

¿Cuánto texto estamos hablando aquí? Si no hay mucho texto, puede almacenar solo el contenido del archivo en la base de datos.

También puede almacenar el archivo como un BLOB. http://dev.mysql.com/doc/refman/5.5/en/blob.html

Si va a tratar con muchos archivos, probablemente sea mejor que guarde los archivos en su servidor con la ruta del archivo en la base de datos.

Cuestiones relacionadas