Lister les noms des champs d'une table mysql
Résolu
xunil2003
Messages postés
765
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Pour réaliser un script sh je voudrais savoir s'il est possible de lister tous les noms des champs présents sur une table mysql.
Ne pas confondre avec lister le contenu des champs
Si oui comment si prendre pour les afficher depuis le shell ?
Merci
Pour réaliser un script sh je voudrais savoir s'il est possible de lister tous les noms des champs présents sur une table mysql.
Ne pas confondre avec lister le contenu des champs
Si oui comment si prendre pour les afficher depuis le shell ?
Merci
A voir également:
- Lister les noms des champs d'une table mysql
- Table des matières word - Guide
- Table ascii - Guide
- Les noms des animaux - Télécharger - Études & Formations
- Table des caractères - Guide
- Word mettre à jour tous les champs ✓ - Forum Word
4 réponses
salut,
Quelque chose comme: table describe;
mais je ne me souviens plus exactement.
Regarde dans le manuel
Quelque chose comme: table describe;
mais je ne me souviens plus exactement.
Regarde dans le manuel
Bonsoir
Ok j'ai trouvé pour table describe.
Cependant j'ai fait un script pour sélectionner le champ à modifier d'une requête mysql avec un menu via un numéro.
Mais je n'arrive pas à avoir le résultat désiré comme ceci ;
Script
Le résultat
laurent@PC-ubuntu:~/bash/Ubuntu_12.04$ /home/laurent/bash/BDD-Mysql/bdd-table.sh
Veuillez sélectionner le champ a modifier :
1 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
2 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
3 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
4 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
5 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
6 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
7 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
8 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
9 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
10 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
11 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
laurent@PC-ubuntu:~/bash/Ubuntu_12.04$
D'où vient mon erreur ?
Merci
Ok j'ai trouvé pour table describe.
Cependant j'ai fait un script pour sélectionner le champ à modifier d'une requête mysql avec un menu via un numéro.
Mais je n'arrive pas à avoir le résultat désiré comme ceci ;
Veuillez sélectionner le champ a modifier : 1) id 2) nom_module 3) code_maison_unite 4) code_maison 5) code_unite etc....
Script
#!/bin/bash #------- CONNECTION A LA BASSE DE DONNES AVEC BASH ------------- hote_db="localhost" nom_bd="domotique" nom_table="modules_x10" login_db="root" pass_bd="xxxxxxxx" dossier="/home/laurent/bash/BDD-Mysql" nombre=$(IFS=''; { for i in $(ls -al $dossier); do echo "$i"; done } | wc -l) fc=$(echo "DESCRIBE $nom_table" | mysql -p$pass_bd -u root $nom_bd | cut -f1) i=1 # on initialise le compteur echo "Veuillez sélectionner le champ a modifier :" while [ $i -le $nombre ]; do echo $i ") $fc " #$(listing) let $[ i+=1 ] # incremente i de 1 a chaque boucle done ; echo "" read modif_champ
Le résultat
laurent@PC-ubuntu:~/bash/Ubuntu_12.04$ /home/laurent/bash/BDD-Mysql/bdd-table.sh
Veuillez sélectionner le champ a modifier :
1 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
2 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
3 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
4 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
5 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
6 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
7 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
8 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
9 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
10 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
11 ) Field
id
nom_module
code_maison_unite
code_maison
code_unite
nom_commande_On
nom_commande_Off
variateur_plus
variateur_moins
variateur_automatique
type
macro
emplacement
concerne
puissance
name_on
input_name_on
name_off
input_name_off
nom_groupe
laurent@PC-ubuntu:~/bash/Ubuntu_12.04$
D'où vient mon erreur ?
Merci
Bonjour,
j'ai modifié mon code :
Script
Résultat :
La ligne 226 est :
Ensuite je modifie le champs de ma table comme ceci.
Comment puis je faire pour qu'il sache que lorsque l'utilisateur tape 3 cela correspond à "nom_module" ?
Afin d'envoyer "nom_module" dans la variable $valeur2 pour modifier le champ ?
Merci.
j'ai modifié mon code :
Script
ar=($(echo "DESCRIBE $nom_table" | mysql -p$pass_bd -u root $nom_bd | cut -f1)); echo "Veuillez indiquer votre choix :" select ntit in ${ar[@]} do for l in $Reply; do if [ $l -lt $cnt ] then ((var=$l-1)); open ${ar[$var]}; else exit fi done done
Résultat :
laurent@PC-ubuntu:~$ /home/laurent/bash/BDD-Mysql/bdd-table.sh Veuillez indiquer votre choix : 1) Field 12) type 2) id 13) macro 3) nom_module 14) emplacement 4) code_maison_unite 15) concerne 5) code_maison 16) puissance 6) code_unite 17) name_on 7) nom_commande_On 18) input_name_on 8) nom_commande_Off 19) name_off 9) variateur_plus 20) input_name_off 10) variateur_moins 21) nom_groupe 11) variateur_automatique #? 3 /home/laurent/bash/BDD-Mysql/bdd-table.sh: ligne 226 : [: 3 : opérateur unaire attendu laurent@PC-ubuntu:~$
La ligne 226 est :
if [ $l -lt $cnt ]
Ensuite je modifie le champs de ma table comme ceci.
mysql_cmd="mysql -D $nom_bd -u$login_db -p$pass_bd" $mysql_cmd -e "UPDATE $nom_table SET colonne1='$valeur2' WHERE id=$id "
Comment puis je faire pour qu'il sache que lorsque l'utilisateur tape 3 cela correspond à "nom_module" ?
Afin d'envoyer "nom_module" dans la variable $valeur2 pour modifier le champ ?
Merci.