Tables mysqldump excluant certains champs

14

Existe-t-il un moyen de mysqldump une table sans certains champs?

Je m'explique:
j'ai une base de données MySQL appelée tests. Dans testsJ'ai 3 tables: USER, TOTOet TATA. Je veux juste mysqldump certains champs de la table USER, excluant ainsi certains domaines comme mail, ip_login, etc.

Comment puis-je faire ceci?

Tapis
la source

Réponses:

13

Essaye ça:

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

Pour plus d'options, lisez la page de documentation .

lg_
la source
8

Cela ne peut pas être fait directement avec mysqldump. Cependant, vous pouvez créer une table temporaire ou une vue qui ne contient pas les données en question, puis vider les données résultantes. Dans le cas d'une vue, je pense que vous devrez utiliser INTO OUTFILEplutôt que mysqldump pour obtenir les données que vous voulez, mais utiliser une vue au lieu d'une table temporaire a l'avantage de ne pas prendre de place supplémentaire dans le SGBD.

L'autre option consiste à créer un analyseur pour le fichier afin de supprimer les champs dont vous ne voulez pas. Pour le dire légèrement, cela peut se compliquer très rapidement, c'est-à-dire que cela deviendra compliqué en supposant que vous vouliez créer un analyseur robuste face aux caractères multi-octets, aux séparateurs de chaînes échappés, etc., etc. Mais pour le trivial ou l'un -cas d'utilisation, il peut toujours être une option valide.

BMDan
la source
0

Vous pouvez également utiliser Phpmyadmin pour ce faire. Créez une requête pour sélectionner les champs souhaités, puis choisissez la fonction "exporter" en bas de la page (cela exporte les résultats de votre requête, pas la table entière), et choisissez l'option "Personnalisé". Vous pouvez ensuite choisir SQL comme format - si vous le souhaitez, vous pouvez ensuite créer une série de requêtes UPDATE plutôt que INSERTS. Cela peut souvent être un moyen rapide de faire quelque chose comme ça.

Tapoter
la source
0

De nombreux outils d'administration DB ont la possibilité d'effectuer une importation personnalisée. En particulier, j'ai accompli cela en utilisant Toad for MySQL pour transférer des données entre des tables à l'aide de PK d'auto-incrémentation.

J'ai enregistré un résultat de requête dans Excel à l'aide de l'Assistant d'exportation.

Vous pouvez ensuite exclure des colonnes à l'aide de l'Assistant d'importation en définissant le champ source sur: Ignorer cette colonne

assistant d'importation

rrhartjr
la source