SELECT INTO OUTFILE
On janvier 20, 2022 by adminSyntaxe
SELECT ... INTO OUTFILE 'file_name' export_options: ENCLOSED BY 'char'] ] ]
Contenu
- Syntaxe
- Description
- Caractère-ensembles
- Exemple
- Voir aussi
Description
SELECT INTO OUTFILE
écrit les lignes résultantes dans un fichier, et permet l’utilisation de terminaisons de colonnes et de lignes pour spécifier un format de sortie particulier. Par défaut, les champs sont terminés par des tabulations (\t
) et les lignes par des nouvelles lignes (\n
).
Le fichier ne doit pas exister. Il ne peut pas être écrasé. Un utilisateur doit disposer du privilège FILE pour exécuter cette instruction. De plus, MariaDB a besoin de l’autorisation d’écrire des fichiers dans l’emplacement spécifié. Si la variable système secure_file_priv est définie sur un nom de répertoire non vide, le fichier ne peut être écrit que dans ce répertoire.
L’instruction LOAD DATA INFILE
complète SELECT INTO OUTFILE
.
Character-sets
La clause CHARACTER SET
spécifie le jeu de caractères dans lequel les résultats doivent être écrits. Sans cette clause, aucune conversion n’a lieu (jeu de caractères binaire). Dans ce cas, s’il y a plusieurs jeux de caractères, la sortie les contiendra également et ne pourra pas facilement être rechargée.
Dans les cas où vous avez deux serveurs utilisant des jeux de caractères différents, l’utilisation de SELECT INTO OUTFILE
pour transférer des données de l’un à l’autre peut avoir des résultats inattendus. Pour vous assurer que MariaDB interprète correctement les séquences d’échappement, utilisez la clause CHARACTER SET
à la fois sur l’instruction SELECT INTO OUTFILE
et sur l’instruction LOAD DATA INFILE
subséquente.
Exemple
L’exemple suivant produit un fichier au format CSV :
SELECT customer_id, firstname, surname INTO OUTFILE '/exportdata/customers.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM customers;
Voir aussi
- SELECT
- Fonction LOAD_DATA()
- LOAD DATA INFILE
- SELECT INTO Variable
- SELECT INTO DUMPFILE
.
Laisser un commentaire