Je cherche à pouvoir exécuter une seule requête sur un serveur distant dans une tâche scriptée.
Par exemple, intuitivement, j'imagine que ça donnerait quelque chose comme:
mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
sql
mysql
unix
command-line
Matthieu
la source
la source
mysql -u <user> -p -B --disable-column-names -e 'select * from schema.table'
*
est étendu à tous les fichiers du répertoire actuel, alors que cette expansion ne se produit pas par guillemets simples, c'est la raison pour laquelle. Les guillemets doubles fonctionneront pour les requêtes sans l'extension*
.mysql.exe -u root -e "my query"
À partir de l'impression d'utilisation:
la source
voici comment vous pouvez le faire avec une astuce de shell cool:
'<<<' demande au shell de prendre tout ce qui le suit comme stdin, similaire au piping de echo.
utilisez l'indicateur -t pour activer la sortie au format table
la source
S'il s'agit d'une requête que vous exécutez souvent, vous pouvez la stocker dans un fichier. Puis à chaque fois que vous souhaitez l' exécuter :
(avec tous les indicateurs de connexion et de base de données bien sûr)
la source
la source