De même pour LINES, si vous l'utilisez, il faut lui donner une ou deux sous-clauses.
STARTING BY, qui définit le caractère de début de ligne (vide par défaut).
TERMINATED BY, qui définit le caractère de fin de ligne ('\n' par défaut, mais attention : les fichiers générés sous
Windows ont souvent '\r\n' comme caractère de fin de ligne).
La clause IGNORE nombre LINES permet… d'ignorer un certain nombre de lignes. Par exemple, si la première ligne de votre
fichier contient les noms des colonnes, vous ne voulez pas l'insérer dans votre table. Il suffit alors d'utiliser IGNORE 1
LINES.
Enfin, vous pouvez préciser le nom des colonnes présentes dans votre fichier. Attention évidemment à ce que les colonnes
absentes acceptent NULL ou soient auto-incrémentées.
Si je reprends mon exemple, en imaginant que nous ayons une table Personne contenant les colonnes id (clé primaire autoincrémentée), nom, prenom, date_naissance et adresse (qui peut être NULL).
Code : CSV
nom;prenom;date_naissance
Charles;Myeur;1994-12-30
Bruno;Debor;1978-05-12
Mireille;Franelli;1990-08-23
Si ce fichier est enregistré sous le nom personne.csv, il vous suffit d'exécuter la commande suivante pour enregistrer ces
trois lignes dans la table Personne, en spécifiant si nécessaire le chemin complet vers personne.csv :
Code : SQL
LOAD DATA LOCAL INFILE 'personne.csv'
INTO TABLE Personne
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n' -- ou '\r\n' selon l'ordinateur et le
programme utilisés pour créer le fichier
IGNORE 1 LINES
(nom,prenom,date_naissance);
Remplissage de la base
Nous allons utiliser les deux techniques que je viens de vous montrer pour remplir un peu notre base. N'oubliez pas de modifier
les commandes données pour ajouter le chemin vers vos fichiers,
Exécution de commandes SQL
Voici donc le code que je vous demande de copier-coller dans votre éditeur de texte préféré, puis de le sauver sous le nom
remplissageAnimal.sql (ou un autre nom de votre choix).
Secret (cliquez pour afficher)
Code : SQL
INSERT INTO Animal (espece, sexe, date_naissance, nom,
commentaires) VALUES
('chien', 'F', '2008-02-20 15:45:00' , 'Canaille', NULL),
('chien', 'F','2009-05-26 08:54:00' , 'Cali', NULL),
('chien', 'F','2007-04-24 12:54:00' , 'Rouquine', NULL),
('chien', 'F','2009-05-26 08:56:00' , 'Fila', NULL),
('chien', 'F','2008-02-20 15:47:00' , 'Anya', NULL),
('chien', 'F','2009-05-26 08:50:00' ,'Louya' , NULL),
('chien', 'F', '2008-03-10 13:45:00','Welva' , NULL),
('chien', 'F','2007-04-24 12:59:00' ,'Zira' , NULL),
('chien', 'F', '2009-05-26 09:02:00','Java' , NULL),
('chien', 'M','2007-04-24 12:45:00' ,'Balou' , NULL),
('chien', 'M','2008-03-10 13:43:00' ,'Pataud' , NULL),
Partie 1 : MySQL et les bases du langage SQL
50/414
www.openclassrooms.com
STARTING BY, qui définit le caractère de début de ligne (vide par défaut).
TERMINATED BY, qui définit le caractère de fin de ligne ('\n' par défaut, mais attention : les fichiers générés sous
Windows ont souvent '\r\n' comme caractère de fin de ligne).
La clause IGNORE nombre LINES permet… d'ignorer un certain nombre de lignes. Par exemple, si la première ligne de votre
fichier contient les noms des colonnes, vous ne voulez pas l'insérer dans votre table. Il suffit alors d'utiliser IGNORE 1
LINES.
Enfin, vous pouvez préciser le nom des colonnes présentes dans votre fichier. Attention évidemment à ce que les colonnes
absentes acceptent NULL ou soient auto-incrémentées.
Si je reprends mon exemple, en imaginant que nous ayons une table Personne contenant les colonnes id (clé primaire autoincrémentée), nom, prenom, date_naissance et adresse (qui peut être NULL).
Code : CSV
nom;prenom;date_naissance
Charles;Myeur;1994-12-30
Bruno;Debor;1978-05-12
Mireille;Franelli;1990-08-23
Si ce fichier est enregistré sous le nom personne.csv, il vous suffit d'exécuter la commande suivante pour enregistrer ces
trois lignes dans la table Personne, en spécifiant si nécessaire le chemin complet vers personne.csv :
Code : SQL
LOAD DATA LOCAL INFILE 'personne.csv'
INTO TABLE Personne
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n' -- ou '\r\n' selon l'ordinateur et le
programme utilisés pour créer le fichier
IGNORE 1 LINES
(nom,prenom,date_naissance);
Remplissage de la base
Nous allons utiliser les deux techniques que je viens de vous montrer pour remplir un peu notre base. N'oubliez pas de modifier
les commandes données pour ajouter le chemin vers vos fichiers,
Exécution de commandes SQL
Voici donc le code que je vous demande de copier-coller dans votre éditeur de texte préféré, puis de le sauver sous le nom
remplissageAnimal.sql (ou un autre nom de votre choix).
Secret (cliquez pour afficher)
Code : SQL
INSERT INTO Animal (espece, sexe, date_naissance, nom,
commentaires) VALUES
('chien', 'F', '2008-02-20 15:45:00' , 'Canaille', NULL),
('chien', 'F','2009-05-26 08:54:00' , 'Cali', NULL),
('chien', 'F','2007-04-24 12:54:00' , 'Rouquine', NULL),
('chien', 'F','2009-05-26 08:56:00' , 'Fila', NULL),
('chien', 'F','2008-02-20 15:47:00' , 'Anya', NULL),
('chien', 'F','2009-05-26 08:50:00' ,'Louya' , NULL),
('chien', 'F', '2008-03-10 13:45:00','Welva' , NULL),
('chien', 'F','2007-04-24 12:59:00' ,'Zira' , NULL),
('chien', 'F', '2009-05-26 09:02:00','Java' , NULL),
('chien', 'M','2007-04-24 12:45:00' ,'Balou' , NULL),
('chien', 'M','2008-03-10 13:43:00' ,'Pataud' , NULL),
Partie 1 : MySQL et les bases du langage SQL
50/414
www.openclassrooms.com
