Non directement, mais vous pouvez obtenir des fonctionnalités similaires en utilisant mysql
sur la ligne de commande.
un bref rappel historique: la déclaration LOAD DATA INFILE
a une variante LOCAL
, LOAD LOCAL DATA INFILE
, qui vous permet de lire données à partir d'un fichier sur votre système de fichiers local; sans LOCAL
il lit à partir de l'emplacement spécifié sur le serveur.
Malheureusement, la déclaration SELECT INTO OUTFILE
toujours écrit à l'emplacement spécifié sur le système de fichiers du serveur (qui peut inclure supports configurés serveur tels que partages NFS ou CIFS); il n'y a pas d'équivalent LOCAL
.
Cependant, vous pouvez rapprocher cette fonctionnalité en utilisant le client mysql
en en mode batch:
mysql -e 'SELECT * FROM db1.tbl1' -B > output.tsv
L'option -B
provoque l'instruction à exécuter en mode batch, de sorte que les résultats de la requête sont imprimés dans un onglet -délimité, sans frontières. En utilisant > somefile.txt
vous permet de rediriger cette sortie vers le fichier spécifié, de sorte que vous avez quelque chose d'équivalent à ce que vous voulez, sans les options FIELDS
ou LINES
de SELECT INTO OUTFILE
, mais assez proche!
OUTFILE chemin d'accès sur le serveur mysql peut être exporté et monté comme chemin de fichier local en utilisant le schéma approprié comme NFS/CIFS etc –
Cela n'aide pas la question de l'OP, mais j'ai mis à jour ma réponse pour inclure ce point, merci toi. –