Tablas de Mysqldump excluyendo algunos campos

14

¿Hay alguna manera de mysqldump una tabla sin algunos campos?

Déjame explicarte:
tengo una base de datos MySQL llamada tests. En testsTengo 3 tablas: USER, TOTOy TATA. Sólo quiero mysqldump algunos campos de la tabla USER, por lo que la exclusión de algunos campos como mail, ip_login, etc.

¿Cómo puedo hacer esto?

Estera
fuente

Respuestas:

13

Prueba esto:

SELECT column1, column2, column10
FROM USER
INTO OUTFILE "c:/user.csv"
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY "\n";

Para más opciones, lea la página de documentación .

lg_
fuente
8

Esto no se puede hacer con mysqldump directamente. Sin embargo, puede crear una tabla temporal o una vista que no contenga los datos en cuestión y luego volcar los datos resultantes. En el caso de una vista, creo que tendrá que usar en INTO OUTFILElugar de mysqldump para obtener los datos que desea, pero usar una vista en lugar de una tabla temporal tiene la ventaja de no ocupar espacio adicional en el DBMS.

La otra opción es crear un analizador para que el archivo elimine los campos que no desea. Para decirlo suavemente, esto puede complicarse muy rápidamente, es decir, se complicará suponiendo que desee crear un analizador robusto frente a caracteres multibyte, separadores de cadenas escapadas, etc., etc. Pero para el trivial o uno -time-use case, aún puede ser una opción válida.

BMDan
fuente
0

También puede usar Phpmyadmin para hacer esto. Cree una consulta para seleccionar los campos que desee, luego elija la función "exportar" en la parte inferior de la página (esto exporta los resultados de su consulta, no toda la tabla), y elija la opción "Personalizada". Luego puede elegir SQL como su formato; si lo desea, puede crear una serie de consultas de ACTUALIZACIÓN en lugar de INSERTOS. A menudo puede ser una forma rápida de hacer algo como esto.

Palmadita
fuente
0

Muchas herramientas de administración de DB tienen la capacidad de realizar una importación personalizada. En particular, logré esto usando Toad for MySQL para transferir datos entre tablas usando PK de autoincremento.

Guardé el resultado de una consulta en Excel usando el Asistente de exportación.

Luego puede excluir columnas usando el Asistente de importación configurando el Campo de origen en: Saltar esta columna

asistente de importación

rrhartjr
fuente