Easy-Micro

ESPACEMEMBRE SQL
Import-Export

Exporter et Importer des données en SQL

Formation SQL par Easy-Micro Exporter des données

Utilisation des options SELECT INTO OUTFILE pour l'export et LOAD DATA INFILE INTO TABLE pour l'import SQL

Les options OUTFILE et DUMPFILE permettent d'exporter les données lues dans un fichier texte sur le serveur. OUTFILE permet de créer un fichier texte avec les éventuels caractères d'échappement nécessaires. DUMPFILE permet d'exporter des données au format binaire. Elle est utilisée pour exporter les champs au format binaire (type BLOB par exemple). Attention, un seul enregistrement peut-être exporté à la fois avec l'instruction DUMPFILE.

Exportons toutes les données de la table articles dans le fichier "monfichier.txt"
SELECT * INTO OUTFILE 'C:/monfichier.txt' FROM articles;

Exemple de requête SQL pour exporter une table au format csv (comma-separated values)
SELECT * INTO OUTFILE "c:/stats.csv"
FIELDS
TERMINATED BY ";"
ENCLOSED BY '"'
ESCAPED BY "\\"
LINES TERMINATED BY "\n"
FROM clients;

FIELDS permet de définir les règles sur les colonnes (les champs) :
  • TERMINATED BY ";" définit que le caractère ; est le séparateur entre les champs
  • ENCLOSED BY '"' définit que le caractère " (guillemet) entoure les champs
  • ESCAPED BY "\\" définit que le caractère \ permet d'échapper les caractères interdits.
LINES permet de définir les règles sur les données (les lignes) :
  • STARTING BY '' définit qu'il n'y a pas de caractère spécial pour démarrer la chaine
  • TERMINATED BY "\n" définit que le retour à la ligne correspond au changement de ligne

Formation SQL par Easy-Micro Importer des données

Pour importer les données d'un fichier vers une base MySQL, on utilise la requête SQL LOAD DATA INFILE

Importons toutes les données du fichier "mesclients.txt" dans la table clients.
LOAD DATA INFILE "C:/mesclients.txt"
INTO TABLE clients (idclient, nom, prenom, adresse, codepostal, ville)
Note : Le fichier mesclients.txt est créé automatiquement.

Attention: La structure des données du fichier "mesclients.txt" doit correspondre à la stucture de la table.

Exemple de contenu de fichier csv
"GRA004";"GRANT";"William";"rue des presidents";"75000";"Paris"
"JAM005";"JAMES";"René""rue du petit chemin";"64000";"Pau"
"DEL006";"DELOIN";"Anthony""rue des basques";"33000";"Bordeaux"

Exemple de requête SQL pour importer un fichier csv dans une table
LOAD DATA INFILE "c:/fichier.csv" INTO TABLE clients
FIELDS
TERMINATED BY ";"
ENCLOSED BY '"'
ESCAPED BY "\\"
LINES STARTING BY '' TERMINATED BY '\n'
(idclient, nom, prenom, adresse, codepostal, ville)
Note: La dernière ligne facultative (idclient, nom, prenom, adresse, codepostal, ville) donne la liste des champs dans lesquels les données vont être enregistrées. L'ordre de ces champs doit correspondre à l'ordre dans lesquelles se trouvent les données dans le fichier.

La première et la dernière ligne sont ici les seules lignes obligatoires car si vous ne spécifiez rien, le séparateur de champ par défaut est la tabulation (TERMINATED BY '\t'), il n'y a pas de caractère qui entoure les champs (ENCLOSED BY ''), le caractère d'échappement des caractères par défaut est \ (ESCAPED BY '\\') et les lignes sont terminées par un retour à la ligne (TERMINATED BY '\n').



< Page précédente SQL Page suivante >