IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SGBD Perl Discussion :

Lister tables DBI SQLIte


Sujet :

SGBD Perl

  1. #1
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Points : 2 778
    Points
    2 778
    Billets dans le blog
    2
    Par défaut Lister tables DBI SQLIte
    Bonjour,

    Je cherche à lister les tables contenues dans ma base de donnée.

    J'ai trouvé sur CPAN la méthode suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      $sth = $dbh->table_info( $catalog, $schema, $table, $type );
      $sth = $dbh->table_info( $catalog, $schema, $table, $type, \%attr );
     
      # then $sth->fetchall_arrayref or $sth->fetchall_hashref etc
    mais je n'arrive pas à m'en servir et je ne trouve nulle part un exemple...
    J'aimerais récupérer la liste dans un tableau par exemple... Si quelqu'un pouvait m'aider un peu...

    Merci d'avance
    Bien reçu, tous les messages. Ils disent qu’ils ont compris, qu’il n’y a plus le choix. Que l’esprit qui souffle, guidera leurs pas. Qu’arrivent les derniers temps où nous pourrons parler. Alors soyons désinvoltes, n’ayons l’air de rien

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Si tu cherches juste à avoir une liste complète des noms des tables de ta base, utilise tables() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @table_names = tables('%', '%', '%');
    Généralement tu voudras être un peu plus précis sur tes filtres.

    table_info() renvoie plus d'informations, néanmoins elles sont présentés comme n'importe quel select statement handler dont les colonnes seraient :
    Code text : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TABLE_CAT: Table catalog identifier. This field is NULL (undef) if not applicable to the data source, which is usually the case. This field is empty if not applicable to the table.
     
    TABLE_SCHEM: The name of the schema containing the TABLE_NAME value. This field is NULL (undef) if not applicable to data source, and empty if not applicable to the table.
     
    TABLE_NAME: Name of the table (or view, synonym, etc).
     
    TABLE_TYPE: One of the following: "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM" or a type identifier that is specific to the data source.
     
    REMARKS: A description of the table. May be NULL (undef).

    --
    Jedaï

  3. #3
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Points : 2 778
    Points
    2 778
    Billets dans le blog
    2
    Par défaut
    Merci à toi

    par contre j'obtiens en plus de mes tables trois autre tables du style "sqlite_master", "sqlite_temp-master" et "sqlite_sequence" ... J'imagine que c'est normal ? ça doit être les tables de référencement et fonctionnement de la base non?
    Bien reçu, tous les messages. Ils disent qu’ils ont compris, qu’il n’y a plus le choix. Que l’esprit qui souffle, guidera leurs pas. Qu’arrivent les derniers temps où nous pourrons parler. Alors soyons désinvoltes, n’ayons l’air de rien

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    J'imagine que ce sont des "SYSTEM TABLE", utilisées en interne par SQLite, si tu ne veux pas les voir, tu devras restreindre le type, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @table_names = tables('%', '%', '%', 'TABLE, VIEW');
    --
    Jedaï

  5. #5
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Points : 2 778
    Points
    2 778
    Billets dans le blog
    2
    Par défaut
    Ouaip c'est déjà mieux, il ne me reste plus que sqlite_sequence

    Mais bon c'est pas très grave en soit je vais faire un trie ça ne pause pas de pb...

    Merci à toi!!!
    Bien reçu, tous les messages. Ils disent qu’ils ont compris, qu’il n’y a plus le choix. Que l’esprit qui souffle, guidera leurs pas. Qu’arrivent les derniers temps où nous pourrons parler. Alors soyons désinvoltes, n’ayons l’air de rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lister les champs et les tables en SQLITE.pleasee
    Par peter_a dans le forum SQLite
    Réponses: 1
    Dernier message: 07/09/2011, 14h37
  2. [XL-2007] Lister table mysql
    Par Fred246 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/12/2009, 19h04
  3. Problème lister tables Firebird 2.1
    Par XER-T dans le forum SQL
    Réponses: 5
    Dernier message: 16/04/2009, 09h51
  4. Lister table d'un data base
    Par skunkies dans le forum Accès aux données
    Réponses: 4
    Dernier message: 26/02/2008, 11h55
  5. Lier tables en SQLite
    Par doderic dans le forum SQLite
    Réponses: 2
    Dernier message: 14/01/2008, 20h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo