Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1185 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment modifier en masse des données dans une table MySQL ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment modifier en masse des données dans une table MySQL ?

n°352298
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 09:35:07  profilanswer
 

J'ai une table MySQL qui contient environ 3000 lignes ...
 
Admettons que j'ai une colonne "Titre", dans cette colonne, certaines contiennent "AAAAAA" d'autres "BBBBB" etc...
 
Comment faire pour changer en 1 seule fois tous les "JJJJJ" par "MMMMM" par exemple ?
 
J'ai essayé plusieurs trucs avec ALTER mais bon ... je suis pas super doué en MySQL ... je me debrouille mais bon...
 
Merci :)


---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le 04-04-2003 à 09:35:07  profilanswer
 

n°352305
urd-sama
waste of space
Posté le 04-04-2003 à 09:38:59  profilanswer
 

pour modifier les enregistrements, c'est plutot un UPDATE qu'il te faudra.
le ALTER est pour modifier la table (ajouter une colonne, modifier un nom de colonne, etc)


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
n°352308
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 09:39:36  profilanswer
 

Ah oui tiens, j'avais oublié le UPDATE, je regarde de ce coté la :jap:


---------------
Gamertag: CoteBlack YeLL
n°352311
Sh@rdar
Ex-PhPéteur
Posté le 04-04-2003 à 09:40:36  profilanswer
 

par exemple (à vérifier hein)
 
 
UPDATE matable SET monchamp = REPLACE('JJJJJ','MMMMMM',monchamp);
 
 
et hop sur toute la table les JJJJJ seront remplacés par MMMMMM dans le champ monchamp


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°352313
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 09:42:29  profilanswer
 

D'apres ce que je viens de trouver ça serait un truc dans le genre :
 
UPDATE nomtable SET Titre=MMMMM WHERE Titre=JJJJJ
 
C juste ?


---------------
Gamertag: CoteBlack YeLL
n°352314
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 09:42:54  profilanswer
 

Sh@rdar a écrit :

par exemple (à vérifier hein)
 
 
UPDATE matable SET monchamp = REPLACE('JJJJJ','MMMMMM',monchamp);
 
 
et hop sur toute la table les JJJJJ seront remplacés par MMMMMM dans le champ monchamp


 
 
Grillaid :D
 
Ok, je teste ça tt de suite, merci :)


---------------
Gamertag: CoteBlack YeLL
n°352329
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 09:50:59  profilanswer
 

:fou:  :fou:  
 
 
J'ai testé ... resultat : J'ai des "MMMMMM" PARTOUT !!! :cry:  
 
J'ai meme pas pensé à faire un DUMP de ma table avant ... résultat : 3000 enregistrement foutus en l'air !! :cry:
 
Bon ben ya pu qu'a recommencer ...
 
Une chose est sure Sh@rdar : Ton truc marche pas :(
 
Tant pis, spagrave !
 
Edit : Dommage qu'il n'y ai pas un bouton "ANNULER" :D


Message édité par Dj YeLL le 04-04-2003 à 09:52:13

---------------
Gamertag: CoteBlack YeLL
n°352335
urd-sama
waste of space
Posté le 04-04-2003 à 09:54:29  profilanswer
 

fais la requête inverse
UPDATE matable SET monchamp = REPLACE('MMMMMM','JJJJJ',monchamp);  


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
n°352349
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 10:04:26  profilanswer
 

Ok je vais essayer ...


---------------
Gamertag: CoteBlack YeLL
n°352358
Sh@rdar
Ex-PhPéteur
Posté le 04-04-2003 à 10:09:00  profilanswer
 

j'ai bien écrit qu'il fallait vérifier hein...
 
 
je me suis gouré de syntaxe.. oups
 
 
UPDATE matable SET monchamp = REPLACE(monchamp,'JJJJJ','MMMMMM';);  
 
 


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
mood
Publicité
Posté le 04-04-2003 à 10:09:00  profilanswer
 

n°352361
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 10:11:43  profilanswer
 

Sh@rdar a écrit :

j'ai bien écrit qu'il fallait vérifier hein...
 
 
je me suis gouré de syntaxe.. oups
 
 
UPDATE matable SET monchamp = REPLACE(monchamp,'JJJJJ','MMMMMM';);  
 
 
 


 
Je vais tester ...
 
P.S. : Urd-sama -> Ca fait pareil ta methode :)


---------------
Gamertag: CoteBlack YeLL
n°352369
urd-sama
waste of space
Posté le 04-04-2003 à 10:15:09  profilanswer
 

malheureusement oui, tes anciennes données sont paumées  :sweat:


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
n°352370
Sh@rdar
Ex-PhPéteur
Posté le 04-04-2003 à 10:16:18  profilanswer
 

fallait faire un dump quand même..


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°352375
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 10:17:54  profilanswer
 

Sh@rdar a écrit :

j'ai bien écrit qu'il fallait vérifier hein...
 
 
je me suis gouré de syntaxe.. oups
 
 
UPDATE matable SET monchamp = REPLACE(monchamp,'JJJJJ','MMMMMM';);  
 
 
 


 
Ca marche tjs pas ... cette fois ci dans la colonne "monchamp" il me remplace tout par ... "monchamp" :/
 
Sinon pour le fait d'avoir perdu mes données, c pas tres grave, j'ai les données ds un tableau Excel ... c assez rapide a dumper en CVS.
 
 
Edit : Bon ben au final g tjs pas la solution ... C bizarre, je pensais pas que ça serait si difficile que ça :??:


Message édité par Dj YeLL le 04-04-2003 à 10:18:33

---------------
Gamertag: CoteBlack YeLL
n°352423
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 10:37:32  profilanswer
 

Bon ben vu que de toute façon il faut tout que je reimporte, je vais faire les modifs directement sous Excel


---------------
Gamertag: CoteBlack YeLL
n°352424
Sh@rdar
Ex-PhPéteur
Posté le 04-04-2003 à 10:37:55  profilanswer
 

bizzare, ça devrait fonctionner en principe....
 
tu veux remplacer tous les caractères J par M ou uniquement les JJJJ par MMMM ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°353227
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 18:22:44  profilanswer
 

Sh@rdar a écrit :

bizzare, ça devrait fonctionner en principe....
 
tu veux remplacer tous les caractères J par M ou uniquement les JJJJ par MMMM ?


 
 
Tous les JJJ par MMMM.
 
Admettons que ça soit des genres de films :
 
Il y a 3 lignes ACTION, 5 lignes AVENTURES etc...
 
Il faudrait changer toutes les lignes AVENTURES par POLICIER par exemple ...


---------------
Gamertag: CoteBlack YeLL
n°353233
jodalton
Posté le 04-04-2003 à 18:29:06  profilanswer
 

En SQL simple, ça devrait marcher...
 
    UPDATE nomtable SET Titre=MMMMM WHERE Titre=JJJJJ
 
Sinon renseigne toi sur la fonction REPLACE de MySQL !! (en général, on se renseigne avant d'essayer, surtout si on a pas envie de perdre ses données)

n°353247
antp
Super Administrateur
Champion des excuses bidons
Posté le 04-04-2003 à 19:39:10  profilanswer
 

Sh@rdar a écrit :


UPDATE matable SET monchamp = REPLACE('JJJJJ','MMMMMM',monchamp);
 


 
C'est quoi cette horreur ? :D  
un WHERE c'est pas plus propre et plus rapide ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°353258
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 20:14:25  profilanswer
 

jodalton a écrit :

En SQL simple, ça devrait marcher...
 
    UPDATE nomtable SET Titre=MMMMM WHERE Titre=JJJJJ
 
Sinon renseigne toi sur la fonction REPLACE de MySQL !! (en général, on se renseigne avant d'essayer, surtout si on a pas envie de perdre ses données)


 
C'est ce que j'ai deja écrit plus haut :
 

Dj YeLL a écrit :

D'apres ce que je viens de trouver ça serait un truc dans le genre :
 
UPDATE nomtable SET Titre=MMMMM WHERE Titre=JJJJJ
 
C juste ?


 
Mais apparement ça marche pas non plus. Ca ne me changeait rien du tout en faisant ça. Ca restait tel quel ... pourtant c ce qui me semblait le + logique ... Je reessayerais Lundi... WeekEnd powa ! :D


---------------
Gamertag: CoteBlack YeLL
n°353259
antp
Super Administrateur
Champion des excuses bidons
Posté le 04-04-2003 à 20:16:44  profilanswer
 

ouais enfin mettre les chaînes entre '...' c'est parfois pas mal non plus :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°353266
Dj YeLL
$question = $to_be || !$to_be;
Posté le 04-04-2003 à 20:23:58  profilanswer
 

antp a écrit :

ouais enfin mettre les chaînes entre '...' c'est parfois pas mal non plus :D


 
G oublié de le noter ici, mais c ce ke je faisais ...


---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment modifier en masse des données dans une table MySQL ?

 

Sujets relatifs
Créer une base de donnéesComparatif MySQL <--> Access
se connecter a une base mysql avec delphi et easyphp[mysql] md5 ou password ?
[ACCESS] Importer dans une base les données de plusieurs bases AccessCSS : Appliquer propriété à un ensemble de td dans UNE table précise.
[mysql]probleme d'insertion pour mysqlChangement d'hebergement : Transferts de bases MySQL
Question mysql pour un débutant... RESOLU grace a Mr yvele MerciRenommer une table sous Access
Plus de sujets relatifs à : Comment modifier en masse des données dans une table MySQL ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR