Exportar datos (CSV / a archivo)
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.dmpPara CSV, use SQL*Plus SET MARKUP CSV ON + SPOOL (12.2+). Para mover esquemas/tablas, Data Pump (expdp) genera un .dmp binario que se importa en otra base de datos Oracle con 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 escribe el resultado de una consulta en un archivo (en el servidor, requiere privilegios); psql \copy escribe en un archivo del cliente. HEADER true añade una línea de cabecera.
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 crea el archivo en el servidor (requiere la ruta de secure_file_priv y el privilegio FILE; no puede sobrescribir). Para una salida en el cliente, redirija con 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 escribe datos en un archivo: -c modo carácter, -t, terminador de campo, -n formato binario nativo. Use queryout para el resultado de una consulta. 'Results to File' en SSMS también es una opción.
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 genera CSV/JSON; para CSV, las columnas deben indicarse explícitamente con --fields. Use --query para filtrar. Para un backup binario completo, se prefiere mongodump.
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.rdbLa exportación estructurada a CSV no viene integrada. Use --scan (no bloqueante) para una lista de claves y un archivo RDB para los datos completos: redis-cli --rdb descarga a un archivo local un snapshot generado en segundo plano en el servidor; si quiere el archivo en el servidor, use BGSAVE. SAVE bloquea el hilo principal; no lo use en producción. Para obtener también los valores, lea el resultado del scan en un bucle.
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": {} } }No hay exportación directa a CSV. Para obtener todos los datos, use elasticdump o pagine _search con scroll/PIT (point-in-time). La conversión a CSV requiere la salida csv de Logstash o una herramienta externa.