Changer l ordre des champs dans une base

layork Messages postés 364 Statut Membre -  
funnycat Messages postés 164 Statut Membre -
Salut a tous, je suis en stage, et la je doit mettre a jour une base de donnée en mysql, et vu ke je suis pas trop calé, je sais pas comment on fait pour inverser l'ordre des champs dans une table, en gros les deplacer et les mettre dans l ordre ke je veux.

J espere ke kelkun poura vite m aider, sinon je vai me faire allumer par mon maitre de stage :p

merci d avance ;)
A voir également:

10 réponses

funnycat Messages postés 164 Statut Membre 65
 
Bonjour.
Je découvre ce message et je me rend compte qu'il n'y a pas la "vrai" méthode qui consiste à faire un ALTER TABLE. En effet, recréer une table n'est pas la bonne solution lorsque la table possède déjà des champs (c'est un peu trop compliqué).

Attention : si vous n'êtes pas sûr, avant d'effectuer la modification il faut penser à faire une sauvegarde. Un backup permet de restaurer la table si une mauvaise manip est faite.

Pour déplacer une colonne dans PhpMyAdmin il faut donc aller dans l'onglet "SQL" et lancer une requête SQL. La requête pour déplacer la colonne "colonne_a_deplacer" juste après la colonne "colonne_reference" est la suivante :
ALTER TABLE ma_table 
MODIFY COLUMN colonne_a_deplacer type_de_donnees AFTER colonne_reference;

A savoir : type_de_donnees doit être le type de la colonne, tel que VARCHAR, TEXT ou INT (par exemple).

Pour déplacer une colonne au début, il suffit de faire cette requête SQL :
ALTER TABLE ma_table 
MODIFY COLUMN colonne_a_deplacer type_de_donnees FIRST


Et voilà, c'est tout !

Source : https://sql.sh/505-modifier-ordre-colonnes-mysql
8
marvinrouge
 
ou alors

1) soit tu recrées la table tu recopies les valeurs, tu détruit la table d'orgine (pénible)

2) soit tu crée une vue avec le bon ordre (par exemple sit t est une table avec a,b,c dans cet ordre et que tu veux a,c,b):

CREATE view AS SELECT a, c, b FROM t
3
layork Messages postés 364 Statut Membre 11
 
c es la derniere soluce ki me semble le plus simple, car j y connai pas grand chose en base de données et les rekête compliké c es pa moin truc!!
par contre si je change l ordre de visualisation, ca changera pa vraimen???
car en fait c es compliké, je recupere des données d un doc word, alors si je change l ordre de visu et ke en fait je recupere mes donnée dans le desordre, ca va etre la merde!!!.

ce ke je veu faire, c es par exemple, j ai les champs suivant:
nom entreprise,iplan,masque_ipwan,ipwan,masque_iplan,adresse

vou comprebez bien ke y va mieu avoir: le nom l adresse, l ip lan etson maske, l ip wan et son maske, dans un souci de facilité pour l utilisateur
0
flokocha Messages postés 1519 Statut Membre 281
 
Mais pourquoi tu veux changer l'odre de tes champs dans ta base ?

Il suffit de les mettre dans l'ordre que tu veux lors de l'affichage du résultat d'une requête, c'est beaucoup plus simple !

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
layork Messages postés 364 Statut Membre 11
 
je veu changer l ordre pour ke ce soi p^lu facile a lire, et vu ke c es une base en mysql, avec php my admin, je fai pa de requête pour afficher les resultats, les gens ki veulent consulter la base, y lance php my admin et ils la consulte sur le reso, doc PAS DE REQUETE, il affiche juste la table, et y a des info ki doivent etre a coter genre l ip et sn maske le nom d un mec et son tel, et je fai ke la mettre a jour et rajouter des info sur cette base, donc les champs c es pas moi ki ai choisi l ordre o debut, donc voilou
0
flokocha Messages postés 1519 Statut Membre 281
 
Oki ! :)

Ben si tu es sous phpMyAdmin, tu peux toujours faire ça comme ça:
Tu notes la structure de chaque champ de ta table, tu supprimes le champ que tu veux déplacer, et ensuite tu vas dans l'onglet "Structure", tu as une option "Ajouter un champ après..." où tu peux recréer le champ que tu as supprimé à l'endroit où tu veux.

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
0
layork Messages postés 364 Statut Membre 11 > flokocha Messages postés 1519 Statut Membre
 
enfin kelkun ki me comprend :D
ca me semble un tres bonne idée! J ai vu pour ajouter les champs "apres, mais le truc c es ke j ai pas tres bien compris le debut de ton explikation:" Tu notes la structure de chaque champ de ta table", j y connai pas grand chose, et ca pour moi c es du chinoi :p
si je ne m abuse, ca voudrai dire ke je note commen est fai mon champs, genre ce sera une grosse requete, e le suprime, et j en créer un nouvo ou je recopie la grosse rekete de l ancien????
0
flokocha Messages postés 1519 Statut Membre 281 > layork Messages postés 364 Statut Membre
 
Non, simplement avant de supprimer un champ, tu vas dans l'option "modifier", tu notes comment il est construit (champ, type, taille, attributs, ...) et tu pourras ensuite recréer exactement le même avec l'option "Ajouter un champ".

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
0
layork Messages postés 364 Statut Membre 11 > flokocha Messages postés 1519 Statut Membre
 
ba le pb c es ke je veu pa perdre tout ce ki a dans mon champs, y a des données dedan ,et si je fai ca je vai les perdre, n est t il pa??
0
flokocha Messages postés 1519 Statut Membre 281 > layork Messages postés 364 Statut Membre
 
Ah ben oui! :)
Je pensais que ta table était encore vide moi !

Dans ce cas essaie la dernière solution de Dubinc.

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
0
Dubinc Messages postés 157 Statut Membre 23
 
sinon tu peux eporter ta table en format texte et tu a juste a faire des copier coller (onglet exporter)

"Un simple homage a JAH, ss joins ni faux rasta, simple mes
au roi, qu'je sens si pres de moi" DubIncorporation
0
Dubinc Messages postés 157 Statut Membre 23
 
A moins de vouloir changer l'identifiant je vois pas trop l'interet de changer l'odre des champs...

"Un simple homage a JAH, ss joins ni faux rasta, simple mes
au roi, qu'je sens si pres de moi" DubIncorporation
-1
flokocha Messages postés 1519 Statut Membre 281
 
Salut,

Tu peux faire "ALTER TABLE nomdetatable ORDER BY lechampquetuveux"

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
-1
flokocha Messages postés 1519 Statut Membre 281
 
Oups pardon je viens de me rendre compte que j'avais mal lu la question.
Ce que je t'ai dit c'est pour changer l'ordre des lignes et non des champs.

.::: "A trop vouloir feindre de faire fi, on finit 
par faire fi de vouloir feindre." 
:::.
0
layork Messages postés 364 Statut Membre 11
 
bon ba je vou remercie tous pour votre aide, serieux c es cool de savoir ke en cas de besoin il y a des ame charitables!!! meme aux heure de buro ;)
je vai me debrouiller avec toute les soluce ke vou m avez donné, surtou celle de dubinc, car ca me di un truc ca, je croi ke j ai deja fai un truc dan le delire.
MERCI A TOUS ET BONNE JOURNEE ;)
-1
Dubinc Messages postés 157 Statut Membre 23
 
ce fut un plaisir bonne journée à toi ;p
cordialement dub

"Un simple homage a JAH, ss joins ni faux rasta, simple mes
au roi, qu'je sens si pres de moi" DubIncorporation
-1