En todas las instalaciones que he probado siempre tropiezo con el mismo problema. ¿Qué ocurre cuando tengo una tabla con un gran volumen de datos y la quiero importar a una tabla MySQL en mi recien adquirido alojamiento web?
Por lo general, puedes tener ese archivo original en tu ordenador, quizás ya preparado en formato texto con una relación de instrucciones SQL que insertarán todos los registros. Esta es la forma que yo suelo utilizar, sobre todo cuando tengo una tabla ubicada en una base de datos A y quiero traspasarla a otra B. Cuando tengo datos en mi ordenador local y no es un gran volumen, suelo pasarlos a Excel, retocarlos en base a mis necesidades y con una fórmula generar instrucciones SQL que copio en un archivo texto (si son muchas) o con copia y pega directamente al phpMySQL.
El problema está en cuanto quiero traspasar un gran volumen de datos. En ese caso la solución es simple. Convierte tus datos a un formato estándar CSV. Un fichero en formato texto plano donde los campos se separan con un carácter -normalmente utilizo la barra vertical (¦) de la tecla "1"-, los campos de texto se separan con otro carácter -opción que nunca uso, salvo que incluyan saltos de línea, en cuyo caso empleo el dólar ($)- y los registros se separan con un salto de línea y un retroceso de carro -es decir, "\r\n"-.
Consejos: no incluyas en la primera línea los nombres de los campos para este caso, al menos; y crea la estructura de la tabla exactamente igual y acorde a tu estructuva CSV.
Por último, en la ventana de "SQL" del phpMyAdmin, al pie de los formularios, la opción insertar archivo de texto en la tabla. Selecciona de tu ordenador el archivo a importar, indica en el formulario adjunto los carácteres utilizados para separar campos (en mi caso ¦), encerrar textos (si lo uso, en mi caso $) y fin de línea (que no suelo variar nunca). Y a esperar, pues si estás importando un gran volumen de datos, tardará lo suyo.
A considerar en el tema de los caracteres que separan trozos del archivo CSV. Utilizo la barra vertical porque el estándar, el punto y coma (;) me suele traer quebraderos de cabeza cuando hay campos de texto de por medio, que pueden contener, como parte de su contenido, un punto y coma. Salvo que un campo de texto contenga saltos de línea, nunca utilizo las comillas (") para encerrar sus contenidos, pues ocurre como con el punto y coma. Y de necesitarlo busco un carácter (y lo compruebo) que no se use en ningún registro de la tabla. Es decir, ten en cuenta que si el contenido de un sólo campo, puede incluir alguno de los caracteres subsodichos, tendrás errores a la hora de importar.
Un lío, ya lo sé. O muy básico, también lo sé. Todo depende de quién lo lea.


