Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer nom de la table (MySql)

Sujet résolu
    15 février 2012 à 18:37:27

    Bonsoir tout le monde, est ce que quelqu'un sait comment récupérer (et non juste afficher) le nom d'une table sous mysql?

    Après pas mal de recherches, j'ai constaté que ça parlé de sysobjetc, systables... mais je n'ai pas compris et pas trouvé de bon exemples :s

    Alors j'ai la basé de donnée qui se nomme: mysql3
    et j'aimerais qu'une requête m'affiche le nom de la table : table1

    Comment faire?

    Merci d'avance
    Clément.

    • Partager sur Facebook
    • Partager sur Twitter
      15 février 2012 à 18:58:35

      Bonsoir,

      Je ne suis pas sûr de comprendre ce que tu souhaites.

      Une fois tu dis afficher et une autre fois récupérer (et non afficher)...

      Pour afficher les tables d'une base de données, tu peux utiliser la commande suivante sous MySQL :

      SHOW TABLES
      
      • Partager sur Facebook
      • Partager sur Twitter
        16 février 2012 à 9:19:54

        Désolé d'avoir utilisé le mot afficher dans la deuxieme partie de mon mail, mais au début je précisais bien "récupérer" et non juste afficher. Je te remercie pour ta réponse mais le show tables m'affiche juste le nom de la table, moi je veux récupérer le nom pour après l'afficher dans une listbox dans visual studio 2010.


        Hier j'ai trouvé : SELECT table_name
        FROM information_schema.tables
        WHERE table_name = 'table1'

        sur le serveur ça fonctionne, ça m'affiche table1 mais par contre je n'arrive pas à l'afficher dans une listbox.
        (c'est la requête qui coince car mes autres requêtes fonctionnent)

        • Partager sur Facebook
        • Partager sur Twitter
          16 février 2012 à 13:06:58

          Citation : ticlem91

          SELECT table_name
          FROM information_schema.tables
          WHERE table_name = 'table1'



          Une nouvelle fois quelque chose me perturbe. Ma réponse va peut-être te paraitre naive mais bon...

          Si tu es capable de taper cette requête, c'est que tu connais le nom de ta table non ? (Ici table1). Si c'est juste le nom de la tale que tu veux récupérer, il s'agit juste d'une chaîne de caractère non ?

          Pourquoi ne pas directement mettre le nom de la table dans la listbox si tu connais déjà le nom de la table ? Pourquoi vouloir absolument passer par une requête SQL ?
          • Partager sur Facebook
          • Partager sur Twitter
            16 février 2012 à 16:05:02

            Citation


            Si tu es capable de taper cette requête, c'est que tu connais le nom de ta table non ? (Ici table1). Si c'est juste le nom de la tale que tu veux récupérer, il s'agit juste d'une chaîne de caractère non ?

            Pourquoi ne pas directement mettre le nom de la table dans la listbox si tu connais déjà le nom de la table ? Pourquoi vouloir absolument passer par une requête SQL ?



            Oui tu as tout à fait raison Wapiti, en effet je connais le nom de la table et je veux récupérer la chaîne de caractère. Créer une nouvelle table et de remplir en dur table1, table2, table3 et table4 serait bien plus pratique je te l'accorde mais je préférais sélectionner les noms de tables via une requête.

            Finalement je vais surement adopter la solution de simplicité : créer une nouvelle table avec les chaines que je souhaite récupérer.

            Merci encore pour ton aide ;)
            Problème résolu

            Clément.
            • Partager sur Facebook
            • Partager sur Twitter
              16 février 2012 à 18:15:34

              Je ne vois pas du tout l'intérêt de faire une requête SQL pour récupérer des données fixes et connues.

              Je suppose que la structure de ta base de données n'est pas amenée à changer si ? Les seules modification concernent le contenu de ces tables non ?

              Combien de tables as-tu ? Si tu en as un petit nombre, je pense que les saisir en dur est bien moins couteux qu'une connexion à une base de données !
              • Partager sur Facebook
              • Partager sur Twitter
                17 février 2012 à 11:29:28

                Je t'explique, j'ai un héritage entre
                - la table mère "personne" et
                - les 4 tables filles "coach, médecin, joueur..."

                et je voulais récupérer les noms de tables filles pour après dans visual studio pouvoir ajouter des nouvelles personnes. Et en fonction du type de personne ( coach, joueur...) l'interface graphique proposera des champs différents à remplir.

                En effet, je vais surement créer une table métier avec les données en dur.

                Je crois avoir en tête la solution à mon problème, si jamais ça ne va pas je reposterai.
                En attendant, merci à toi wapiti :)
                • Partager sur Facebook
                • Partager sur Twitter
                  21 février 2012 à 16:27:36

                  écrire le nom des catégories dans ton code est bien plus logique que d'utiliser le nom des tables.
                  ça t'épargne une connexion a ta bdd et ça te permet de nommer tes tables et tes champs comme tu le souhaite.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 février 2012 à 17:25:38

                    Citation : Karuo

                    écrire le nom des catégories dans ton code est bien plus logique que d'utiliser le nom des tables.
                    ça t'épargne une connexion a ta bdd et ça te permet de nommer tes tables et tes champs comme tu le souhaite.



                    +1 ;)
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Récupérer nom de la table (MySql)

                    × 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