Exportación CSV masiva con 'mysqldump'
En el ámbito de la gestión de datos MySQL, exportar el contenido de una tabla a formato CSV puede ser una tarea crucial . Si bien 'mysqldump' es una poderosa utilidad para realizar copias de seguridad de bases de datos, carece de una opción para exportar exclusivamente cada tabla como CSV. Este artículo explora un enfoque alternativo para lograr esto utilizando una combinación de 'mysql' y posprocesamiento.
'mysql' con el parámetro '-B'
El quid de la cuestión Una de nuestras soluciones radica en aprovechar el parámetro '-B' en la utilidad 'mysql'. Este parámetro indica al programa que muestre los resultados en un formato delimitado por tabulaciones. Al canalizar la salida a través de 'sed', podemos manipular aún más los datos para crear un archivo CSV con encabezados.
Iteración de script Bash
Para exportar todas las tablas en un base de datos, podemos utilizar un script Bash para recorrer la lista de nombres de tablas. Un enfoque es combinar los siguientes comandos:
mysql -u username -ppassword dbname -sN -e "SHOW TABLES;" | \ for tb in $(mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"); do mysql -B -u username -p password database -h dbhost -e "SELECT * FROM $tb;" \ | sed “s/”/\””/g;s/'/\'/;s/\t/\”,\”/g;s/^/\”/;s/$/\”/;s/\n//g” > "$tb.csv" done
Este script primero recupera la lista de tablas usando 'MOSTRAR TABLAS' y la almacena en la variable 'tb'. Luego itera sobre cada nombre de tabla y ejecuta una consulta 'SELECT *' con el parámetro '-B'. La salida resultante se procesa mediante 'sed' y se almacena en un archivo CSV con el nombre de la tabla.
Conclusión
Al combinar el parámetro '-B' de 'mysql ' y 'sed' posprocesamiento, podemos exportar efectivamente todas las tablas en una base de datos MySQL al formato CSV. Este enfoque evita las limitaciones de 'mysqldump' y proporciona mayor flexibilidad en la manipulación de los datos de salida.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3