Comment sauvegarder la sortie de requête MySQL pour exceller ou.fichier txt? [dupliquer]

cette question a déjà une réponse ici:

comment sauvegarder la sortie D'une requête MySQL sur une feuille MS Excel?

même s'il est seulement possible de stocker les données dans un fichier .txt , il sera être d'accord.

84
demandé sur codeforester 2014-01-21 13:14:51

2 réponses

à Partir de Enregistrer MySQL résultats de la requête dans un fichier texte ou CSV :

MySQL fournit un mécanisme facile pour écrire les résultats d'un select déclaration dans un fichier texte sur le serveur. En utilisant les options étendues de la nomenclature dans OUTFILE, il est possible de créer une virgule valeur séparée (CSV) qui peut être importée dans un tableur les applications telles que OpenOffice ou Excel ou toute autre application qui accepte les données au format CSV.

a donné une requête telle que

SELECT order_id,product_name,qty FROM orders

qui renvoie à trois colonnes de données, les résultats peuvent être placés dans le fichier /tmo/commandes.txt utilisant la requête:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.txt'

cela va créer un fichier tab-séparé, chaque ligne sur sa propre ligne. De modifier ce comportement, il est possible d'ajouter des modificateurs pour la requête:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

Dans cet exemple, chaque champ sera enfermé dans des "guillemets," l' les champs seront séparés par des virgules, et chaque ligne sera nouvelle ligne séparée par une nouvelle ligne (\n). Exemple de sortie de cette commande ressemblerait à:

"1","Tech-Recipes sock puppet","14.95" "2","Tech-Recipes chef's hat","18.95"

Gardez à l'esprit que le fichier de sortie ne doit pas déjà exister et que l' L'utilisateur MySQL exécute les permissions d'écriture dans le répertoire MySQL essaye d'écrire le fichier.

syntaxe

   SELECT Your_Column_Name
    FROM Your_Table_Name
    INTO OUTFILE 'Filename.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'

Ou vous pouvez essayer cette trop

vous pouvez essayer d'exécuter la requête à partir de votre client local et rediriger la sortie vers une destination de fichier locale;

Mysql -user -pass -e"select cols from table where cols not null" > /tmp/output
142
répondu Amarnath Balasubramanian 2014-08-14 17:36:01

vous pouvez écrire les codes suivants pour accomplir cette tâche:

SELECT ... FROM ... WHERE ... 
INTO OUTFILE 'textfile.csv'
FIELDS TERMINATED BY '|'

il exporte le résultat à CSV et ensuite l'exporter à la feuille excel.

4
répondu Charles Stevens 2018-02-02 04:50:26