Est-il possible de faire mysqldump
en single SQL query
?
Je veux dire vider la base de données entière , comme phpmyadmin
lorsque vous exportez versSQL
pas mysqldump, mais mysql cli ...
mysql -e "select * from myTable" -u myuser -pxxxxxxxxx mydatabase
vous pouvez le rediriger vers un fichier si vous le souhaitez:
mysql -e "select * from myTable" -u myuser -pxxxxxxxx mydatabase > mydumpfile.txt
Mise à jour: le message d'origine a demandé s'il pouvait vider la base de données par requête. Ce qu'il a demandé et ce qu'il a voulu dire était différent. Il voulait vraiment juste mysqldump toutes les tables.
mysqldump --tables myTable --where="id < 1000"
Cela devrait fonctionner
la source
--no-create-info
option. Voir ma réponse pour un exemple.Vous pouvez vider une requête au format csv comme ceci:
la source
scp
fois la connexion terminée. voici un exemple.scp [email protected]:/tmp/querydump.csv ~/local.csv
Vider une table à l'aide d'une requête where:
Vider une table entière:
Remarques:
mydatabase
,mytable
et l'instruction where par vos valeurs souhaitées.mysqldump
inclura les instructionsDROP TABLE
etCREATE TABLE
dans sa sortie. Par conséquent, si vous ne souhaitez pas supprimer toutes les données de votre table lors de la restauration à partir du fichier de données enregistré, assurez-vous d'utiliser l'--no-create-info
option.-h
,-u
et des-p
options à l'exemple commandes ci - dessus afin de préciser votre base de données hôte souhaité, l' utilisateur et le mot de passe, respectivement.la source
Vous pouvez utiliser l'option --where sur mysqldump pour produire une sortie que vous attendez:
Au plus 100 lignes de test.t1 seront vidées de la table de base de données.
À la vôtre, WB
la source
Si vous souhaitez exporter vos n derniers enregistrements dans un fichier, vous pouvez exécuter ce qui suit:
Ce qui précède enregistrera les 100 derniers enregistrements dans export_file.sql, en supposant que la table à partir de laquelle vous exportez possède une colonne d'identification auto-incrémentée.
Vous devrez modifier les valeurs utilisateur, localhost, base de données et table. Vous pouvez éventuellement modifier la colonne id et exporter le nom du fichier.
la source
MySQL Workbench a également cette fonctionnalité parfaitement dans l'interface graphique. Exécutez simplement une requête, cliquez sur l'icône d'enregistrement à côté d'Export / Import:
Choisissez ensuite "Instructions SQL INSERT (* .sql)" dans la liste.
Entrez un nom, cliquez sur enregistrer, confirmez le nom de la table et vous aurez votre fichier de vidage.
la source
Combiner une grande partie de ce qui précède ici est mon véritable exemple pratique, en sélectionnant des enregistrements en fonction de la métrique et de l'horodatage. J'ai besoin de cette commande depuis des années. S'exécute très rapidement.
la source
mysql Exporter la ligne de commande des résultats de la requête:
la source