104 votes

MYSQL Dump seulement certaines lignes

J'essaie de faire un dump mysql de quelques lignes de ma base de données. Je peux ensuite utiliser ce vidage pour télécharger ces quelques lignes dans une autre base de données. Le code que j'ai fonctionne, mais il vide tout. Comment puis-je faire en sorte que mysqldump ne vide que certaines lignes d'une table ?

Voici mon code :

mysqldump --opt --user=username --password=password lmhprogram myResumes  --where=date_pulled='2011-05-23' > test.sql

153voto

AJ. Points 12912

Réparez juste votre --where option. Il doit s'agir d'une clause WHERE SQL valide, comme :

--where="date_pulled='2011-05-23'"

Vous avez le nom de la colonne en dehors des guillemets.

1 votes

Merci a fait exactement ce dont j'avais besoin. Merci pour votre aide !

2 votes

Para DANS nous pouvons simplement utiliser --where="id IN(1,2,6,10)" . Où id est une colonne du tableau. Réf. --où

9 votes

Juste une remarque à l'attention de tous ceux qui, comme moi, l'utilisent pour envoyer un gros datadump vers un autre serveur qui s'est cassé au milieu, si vous ne spécifiez pas --no-create-info avec votre clause where, le nouveau dump va recréer la table et supprimer les données déjà transférées ! C'est peut-être évident mais ça m'a pris deux fois maintenant.

32voto

Neville K Points 13666

Vous devez citer la clause "où".

Essayez

mysqldump --opt --user=username --password=password lmhprogram myResumes  --where="date_pulled='2011-05-23'" > test.sql

1 votes

C'était exactement ce dont j'avais besoin. Une autre personne a répondu juste avant vous et j'ai choisi sa réponse, mais j'ai voté pour vous pour votre aide.

1 votes

Il existe un autre moyen d'utiliser une requête comme celle-ci : CREATE TABLE new_table AS (SELECT * FROM myResumes WHERE where=date_pulled='2011-05-23') ; Ensuite, vous pouvez simplement exporter cette table via mysqldump.

2voto

Rokonz Zaz Points 109

Utilisez ce code pour des lignes de tableau spécifiques, en utilisant la condition LIKE.

mysqldump -u root -p sel_db_server case_today --where="date_created LIKE '%2018
%'" > few_rows_dump.sql

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X