importer fichier text dans mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : importer fichier text dans mysql

par iGwen » 30 oct. 2005, 13:30

oups j'avais pas vu que tu utilisais phpmyadmin
donc dans les réglages:
-tu choisis ton fichier txt
-tu choisis , comme caractère de fin de champ et " " comme séparateur
- ensuite tu choisis \n

et tu valides et je crois qu'il n'y a rien d'autre à faire

c'est pourtant simple :D

par iGwen » 30 oct. 2005, 13:28

ton fichier texte DOIT être de cette forme:

Code : Tout sélectionner

"1","blablablabla","tototototototo ot ot ot oto" "2","lalalalala","prouttprout jfhsjks jjjj" "3",.........
ensuite avec quoi importe tu ce fichier?
- un script que tu as réalisé toi même? (j'en doute :? )
- la fonction d'import dans phpmyadmin (avec un formulaire te permettant de choisir le fichier et les différentes options)
- des lignes de commandes mysql? (je te déconseille ça, c'est incompréhensible et personnelement je n'ai jamais trouvé ou il fallait insérer ce genre de commendes)

par fersayn » 16 oct. 2005, 18:42

re,
losque j'impote mon fichier text avec une config:
id<nom<url<description

l'importation ne prend en compte qsue la premiere ligne et compte 774 ligne vide????
Alors qu'il y a 890 lignes dans le fichier

Comment résoudre ce probleme?

j'utilise la fonction automatique de mysql pour importer les données (dernier onglet au bas de la page)

par Invité » 14 oct. 2005, 23:09

1<http://www.informationhospitaliere.com/ ... ion.htm<Un traitement précoce de la dégénérescence maculaire avec le macugen peut aider les patients à conserver leur vision.<07/10/05 - L'étude a montré que la détection et le traitement précoce de la dégénérescence maculaire avec le pegaptanib de sodium peut permettre aux patients AMD d'entretenir et, dans certains cas, de regagner la vision.<
2<http://www.informationhospitaliere.com/ ... tm<Nouveau type de batterie implantable.<06/10/05 - Un avantage critique de la nouvelle technologie est la durée de vie des batteries: les batteries organo-siliciums devraient durer une douzaine d'années.<

voici comment j'ai composé ma page texte...

je passe sous sql aprés avoir crée ma table et fais inserer à partir du fichier text...

le probleme est qu'il me prends que le premier sur 694 evec toutes les données et me comptent 774 enregistrements sans valeur?

par zeus » 14 oct. 2005, 21:38

Je voulais savoir mon id est en auto increment, est- il utile de lui donner un numéro dans le fichier texte tout de meme?
Tu peut donner une valeur à un champ avec un auto-increment si tu le désire. Mais il faut savoir que si tu as 2 fois la même valeur, ça va tout planter ...

Comme le dit Cyrano, tu ne devrais pas avoir a toucher les id auto-increment.

Mais si tu pars d'une table vide, je n'en voit pas d'ojection

par Cyrano » 14 oct. 2005, 20:00

De l'utilité d'une clé primaire auto-incrémentée

Il est bon de savoir que dans une table, la clé primaire n'est pas, et ne doit pas être un élément concernat l'affichage des données: la clé primaire sert aux manipulations des données afin de repérer une (ou plusieurs) ligne(s) précise(s). L'auto-incrémentation permet de ne pas avoir à se creuser le citron trop longtemps pour générer une clé unique, le SGBD s'en charge très bien et on a pas besoin de connaitre le numéro en dehors du code servant à la manipulation. Ainsi, lorsque tu voudras mettre à jour une ligne en particulier dans une table spécifique, il sera fort appréciable d'avoir un point de repère pour la trouver. La clé primaire sert à ça.

par Invité » 14 oct. 2005, 19:38

Je voulais savoir mon id est en auto increment, est- il utile de lui donner un numéro dans le fichier texte tout de meme?

par zeus » 14 oct. 2005, 17:17

Si, le ; n'était qu'un exemple. Il suffira que dans la commande LOAD DATA INFILE, tu mettes FIELDS TERMINATED BY 'monchar' où monchar est le caractère de séparation ; dans mon exemple, | par exemple

Sinon, l'attribut FIELDS ESCAPED BY 'monchar' te permet d'anihiler le caractère de séparation de champs. Un peu comme \ en php pour bloquer un " ou un ' sauf que là, comme pour FIELDS TERMINATED, tu peut mettre le caractères que tu veut, du moment qu'il n'est pas déjà utiliser dans un autre attribut de LOAD DATA INFILE

par Invité » 14 oct. 2005, 17:12

Dans mon fichier texte, j'ai deja des phrases avec des ;
dans mon champs descriptif: comment ca va réagir?

il n'y a pas moyen de séparer les champs par un autre opérateur tel que le ? ou ! par exemple?

par zeus » 14 oct. 2005, 14:09

il faut que tu remplisse ton fichier dans l'ordre des champs de ta table

Code : Tout sélectionner

+-----------+ | ma_table | +-----------+ | id | | nom | |prenom | +-----------+
fichier

Code : Tout sélectionner

1;marc;lavoine 2;zazie;; 3;david;guetta

par fersayn » 14 oct. 2005, 14:05

ok je te suis pour le load data mais comment lui dire que tels parties est a mettre dans tel champs:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'documentaire.txt'
[REPLACE]
INTO TABLE recherche
?????????????????????????????????????

c'est la ou je beug???

[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES
[STARTING BY '']
[TERMINATED BY '\n']
]
[IGNORE number LINES]
[(col_name,...)]

merci pour ton aide...

par zeus » 14 oct. 2005, 13:46

En ce qui concerne les tutaux, mea culpa parce que ça fait 2 mois que je devrais en avoir posté 1 qui correspond à ce que tu cherches

Pour rédiger ton fichier texte, tu doit séparer tes champs par un séparateurs (; par exemple) et tes lignes par un autres séparateurs (retour à la ligne)

Ensuite, tu utilise l'instruction SQL LOAD DATA INFILE pour insérer les données depuis ton fichier texte vers ta base de données MySQL

description de LOAD DATA INFILE

Et pour m'excuser de ne pas avoir encore mis le tuto en lignes, je te suis jusqu'a ce que tu ais réussi

importer fichier text dans mysql

par fersayn » 14 oct. 2005, 13:42

bonjour,

j'ai créer une base de donnée mysql qui comprend une table nomée recherche et qui compte 5 champs: id (autoincrément) - mots- date- url-decription.

j'aimerai savoir comment rédiger mon fichier text afin de pouvoir l'importer dans mysql sans copier-coller a chaque fois les données...

j'ai regardé les tutaux pas trouver??

Merci de votre aide...