Partage
  • Partager sur Facebook
  • Partager sur Twitter

PB remplissage Table MySQL avec fichier csv

Sujet résolu
    16 janvier 2017 à 12:52:59

    Bonjour,

    Je regarde le cours "Administrez vos bases de données avec MySQL".

    Je dois faire le remplissage de ma table animal avec un fichier animal.CSV.

    J'ai copie mon fichier animal.csv avec wordpad.


    Ensuite je passe sous MySql et je tape la commande suivante :

    LOAD DATA LOCAL INFILE 'C:\\Users\\easy\\Desktop\\INFORMATIQUE\\Cours MySQL\\MySQL - SQL\\animal.csv' INTO TABLE Animal

    FIELDS TERMINATED BY ';' ENCLOSED BY '"'

    LINES TERMINATED BY '\n'

    (espece, sexe, date_naissance, nom, commentaires);


    Mais voilà ma table,

    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2017 à 13:54:19

      Ton attribut date_naissance est de type DATETIME mais tu souhaites remplir avec des valeurs de type String à partir de ton .csv.

      Il faut faire une conversion de tes dates de type String en DATETIME.

      Tu peux utiliser la fonction str_to_date() il me semble.

      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2017 à 21:36:53

        Bonsoir,

        Merci pour ta réponse mais je ne comprends pas. Je commence le cours sur MySQL.

        C'est quoi le type String sous MySQL ? 

        Le fichier csv, je l'ai téléchargé sur le site openclassrooms

        https://openclassrooms.com/codeweb/678831

        • Partager sur Facebook
        • Partager sur Twitter
          17 janvier 2017 à 10:28:27

          Bonjour,

          mandock a écrit:

          Il faut faire une conversion de tes dates de type String en DATETIME.

          Non, le problème ne vient pas de là, MySQL sait bien importer une chaîne de caractère comme un DATETIME ...

          Je pencherai plutôt pour un problème d'encodage de caractère dû à un mauvais copier/coller depuis le site. Assures-toi que le fichier .CSV est bien encodé en UTF8, par exemple en utilisant un éditeur de texte évolué (type notepad++).

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            17 janvier 2017 à 16:32:56

            Benzouye a écrit:

            Assures-toi que le fichier .CSV est bien encodé en UTF8, par exemple en utilisant un éditeur de texte évolué (type notepad++).


            Bonjour, et merci pour ta réponse..

            - J'ai téléchargé le logiciel notepad++ et j'ai refais mon copier/coller et j'ai enregistré le fichier en UTF8.

            J'ai retapé ma commande :

            LOAD DATA LOCAL INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Data/elevage/animal.csv' INTO TABLE animal

            FIELDS TERMINATED BY ';' ENCLOSED BY '"'

            LINES TERMINATED BY '\n'

            (espece, sexe, date_naissance, nom, commentaires);

            Mais j'ai toujours le probleme de décalage sur la colonne id (qui est en auto_increment et sur la colonne DATETIME). 

             Est ce que je dois rajouter un colonne dans mon fichier csv avec des valeurs ????

            -
            Edité par amarie42 17 janvier 2017 à 16:36:18

            • Partager sur Facebook
            • Partager sur Twitter
              17 janvier 2017 à 17:02:22

              Pour essai, essayes de retaper entièrement le contenu du fichier CSV, au moins les deux ou trois premières lignes. Je pense surtout aux caractères de retour chariot ...

              -
              Edité par Benzouye 17 janvier 2017 à 17:09:14

              • Partager sur Facebook
              • Partager sur Twitter
              Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                18 janvier 2017 à 15:38:42

                Autant pour moi, je suis en cours de formation aussi en SQL

                Désolé :/

                • Partager sur Facebook
                • Partager sur Twitter
                  18 janvier 2017 à 16:28:45

                  HIHIHIHIHIHI j'ai trouvé !!!!

                  Sous NOTEPAD ++
                  - J'ai rajouté une colonne avec des valeurs = "NULL", pour la colonne ID,
                  - J'ai encodé UTF-8 "sans BOM",
                  - J'ai rajouter une ligne blanche (ligne 26)
                  - J'ai enregistré le fichier en .CSV

                  Sous MySQL
                  - J'ai taper la commande :

                  LOAD DATA LOCAL INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Data/elevage/animal.csv' INTO TABLE animal

                  FIELDS TERMINATED BY ';'  ENCLOSED BY '"'

                  LINES TERMINATED BY '\r\n'

                  (id, espece, sexe, date_naissance, nom, commentaires);

                  Et j'ai bien mes 10 enreg du départ avec mes 25 enreg du fichier !!

                  -
                  Edité par amarie42 18 janvier 2017 à 16:40:12

                  • Partager sur Facebook
                  • Partager sur Twitter

                  PB remplissage Table MySQL avec fichier csv

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown