Générer les données sous forme de script INSERT
Oracle
-- DBMS_METADATA for object DDL
SELECT DBMS_METADATA.GET_DDL('TABLE','CUSTOMER') FROM dual;
-- Generating row data as INSERTs is not built in;
-- use SQL Developer 'Export > Insert' or SQLcl 'SET SQLFORMAT INSERT':
-- SET SQLFORMAT INSERT
-- SELECT * FROM customer;Oracle ne propose aucune commande SQL qui convertit directement les données en script INSERT prêt à l'emploi. Pour le DDL, utilisez DBMS_METADATA.GET_DDL ; pour les INSERT de lignes, utilisez SQLcl (SET SQLFORMAT INSERT) ou l'assistant Export de SQL Developer.
PostgreSQL
-- Data only, as INSERT statements
pg_dump --data-only --inserts --table=customer shop > insert.sql
-- With column names (more robust to schema differences)
pg_dump --data-only --column-inserts --table=customer shop > insert.sqlpg_dump --inserts écrit chaque ligne comme un INSERT séparé ; --column-inserts ajoute aussi les noms de colonnes (robuste aux différences de schéma). Le format par défaut (sans option) est COPY, qui se charge beaucoup plus vite.
MySQL
-- Data only (INSERTs), without the table definition
mysqldump --no-create-info shop customer > insert.sql
-- One INSERT per row (more readable)
mysqldump --no-create-info --skip-extended-insert shop customer > insert.sqlmysqldump produit des instructions INSERT par défaut ; --no-create-info omet CREATE TABLE et ne produit que les données. --skip-extended-insert fait de chaque ligne un INSERT séparé (par défaut, plusieurs lignes sont combinées en une instruction).
SQL Server
-- SSMS: right-click > Tasks > Generate Scripts >
-- Advanced > 'Types of data to script' = Data only (or Schema and data)
-- Command-line alternative (sqlpackage / mssql-scripter tool)
-- mssql-scripter -S server -d shop -t customer --data-only > insert.sqlSQL Server n'a pas de commande T-SQL intégrée pour cela. Le moyen le plus courant consiste à choisir Data only dans l'assistant « Generate Scripts » de SSMS. En ligne de commande, l'outil mssql-scripter de Microsoft génère des INSERT avec --data-only.
MongoDB
# Produces a binary/BSON backup instead of INSERT SQL
mongodump --db=shop --collection=customer --out=./backup
# As JSON text (can be adapted to insertMany)
mongoexport --db=shop --collection=customer --jsonArray --out=customer.jsonIl n'existe pas de notion d'INSERT SQL. Pour une sauvegarde portable, utilisez mongodump (BSON, restauré avec mongorestore). Pour un insertMany intégré au code, la sortie de mongoexport --jsonArray peut être utilisée.
Redis
# Portable serialization of a single key
DUMP customer:1
# The output is restored with RESTORE:
# RESTORE customer:1 0 "<dump-data>"
# RDB snapshot for all data
redis-cli --rdb dump.rdbAucun script INSERT SQL n'est produit. Utilisez la sérialisation DUMP + RESTORE par clé et un fichier RDB (--rdb) pour l'ensemble des données. Si une liste de commandes est nécessaire, itérez avec SCAN et construisez les commandes SET/HSET appropriées pour chaque type.
Elasticsearch
# The INSERT equivalent is _bulk NDJSON; produce it with elasticdump
elasticdump --input=http://localhost:9200/customer --output=customer_bulk.json --type=data
# Manual: converting a _search result to _bulk NDJSON requires an external scriptAucun INSERT SQL n'est produit ; dans Elasticsearch, l'unité de chargement est le NDJSON _bulk. Pour extraire les données existantes sous une forme rechargeable, utilisez elasticdump (type=data) ; la sortie _search + PIT peut être convertie en NDJSON par un script externe.