Exporter des données (CSV / vers un fichier)
Oracle
-- CSV with SQL*Plus (spool)
SET MARKUP CSV ON
SPOOL customer.csv
SELECT id, name, email FROM customer;
SPOOL OFF
-- Logical export with Data Pump (from the shell)
expdp app_user/password tables=customer directory=dir_dmp dumpfile=customer.dmpPour le CSV, utilisez SQL*Plus SET MARKUP CSV ON + SPOOL (12.2+). Pour déplacer des schémas/tables, Data Pump (expdp) produit un .dmp binaire importé dans une autre base Oracle avec impdp.
PostgreSQL
-- Server side
COPY (SELECT id, name, email FROM customer) TO '/data/customer.csv' WITH (FORMAT csv, HEADER true);
-- Client side (psql)
\copy (SELECT id, name, email FROM customer) TO 'customer.csv' WITH (FORMAT csv, HEADER true)COPY ... TO écrit le résultat d'une requête dans un fichier (côté serveur, nécessite des privilèges) ; psql \copy écrit dans un fichier client. HEADER true ajoute une ligne d'en-tête.
MySQL
-- To a file on the server
SELECT id, name, email FROM customer
INTO OUTFILE '/data/customer.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
-- To the client: mysql -e ... > file (tab-separated)
-- mysql -e "SELECT * FROM customer" shop > customer.tsvSELECT ... INTO OUTFILE crée le fichier sur le serveur (nécessite le chemin secure_file_priv et le privilège FILE ; il ne peut pas écraser). Pour une sortie côté client, redirigez avec mysql -e.
SQL Server
-- Export with bcp (from the shell)
bcp "SELECT id, name, email FROM shop.dbo.customer" queryout customer.csv -c -t, -S server -T
-- or the whole table
bcp shop.dbo.customer out customer.dat -n -S server -Tbcp out/queryout écrit les données dans un fichier : -c mode caractère, -t, séparateur de champs, -n format binaire natif. Utilisez queryout pour le résultat d'une requête. « Results to File » dans SSMS est aussi une option.
MongoDB
# Export CSV (fields must be specified)
mongoexport --db=shop --collection=customer --type=csv --fields=id,name,email --out=customer.csv
# As JSON
mongoexport --db=shop --collection=customer --out=customer.jsonmongoexport produit du CSV/JSON ; pour le CSV, les colonnes doivent être indiquées explicitement avec --fields. Utilisez --query pour filtrer. Pour une sauvegarde binaire complète, mongodump est préférable.
Redis
# Scan keys (SCAN instead of KEYS in production)
redis-cli --scan --pattern 'customer:*' > keys.txt
# For a full data backup, download an RDB snapshot to the client side (non-blocking)
redis-cli --rdb ./dump.rdbL'export CSV structuré n'est pas intégré. Utilisez --scan (non bloquant) pour une liste de clés et un fichier RDB pour l'ensemble des données : redis-cli --rdb télécharge dans un fichier local un snapshot généré en arrière-plan sur le serveur ; si vous voulez le fichier sur le serveur, utilisez BGSAVE. SAVE bloque le thread principal ; ne l'utilisez pas en production. Pour obtenir aussi les valeurs, lisez le résultat du scan dans une boucle.
Elasticsearch
# Export with elasticdump
elasticdump --input=http://localhost:9200/customer --output=customer.json --type=data
# For large data, paged reads with scroll / point-in-time
GET customer/_search?scroll=1m
{ "size": 1000, "query": { "match_all": {} } }Il n'y a pas d'export CSV direct. Pour récupérer toutes les données, utilisez elasticdump ou paginez _search avec scroll/PIT (point-in-time). La conversion en CSV nécessite la sortie csv de Logstash ou un outil externe.