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

PHP & Base de données Discussion :

Sélection d'un ou plusieurs nom de tables selon un critère


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Par défaut Sélection d'un ou plusieurs nom de tables selon un critère
    Bonjour !

    J'aimerais par le biais d'une requête sql, sélectionner un ou plusieurs noms de tables comportant par exemple une année commune dans leurs noms...

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select TABLES from ma_base_de_donnée where TABLES = '%2005';
    Est-ce possible ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ca n'existe pas SELECT TABLE.

    Tu ne veux pas plutot selectionner des champs d'une table pour lesquels le nom du champ correspond a un critere ?
    Si c'est ca je pense qu'il y a un soucis de conception dans ta base.

    Tu peux nous en dire plus ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Par défaut
    Hé bien non....

    C'est ce que je veux faire... Récupérer le nom des tables de ma base de données correspondant à quelque chose + 2005...

    Je nomme mes différentes tables par ce qu'elles contiennent et l'année en cours...
    Par exemple : produit2005, produit2006, produit2007, évènement2005, évènement2006, évènement2007,...

    Et j'aimerais pouvoir supprimer mes tables correspondant à l'année 2005 et pour cela il me faut le(s) nom(s) de(s) table(s) avec l'année 2005...

    En espérant que c'est faisable....

    Merci.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Table_Name
    FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = "base_de_donnee" AND Table_Name Like "%2005%"
    Et ensuite tu fais un DROP sur chacune.
    A manipuler avec extreme precaution je pense.

    Mais pourquoi avoir une table par année ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Par défaut
    Parce que sinon ça ferait d'énoooorrrrrmmmmes tables.....

    Et c'est plus facile pour les recherches.

    Merci beaucoup !

    J'essaie ça tout de suite.

  6. #6
    Membre éclairé Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Table_Name
    FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = "base_de_donnee" AND Table_Name Like "%2005%"
    Et ensuite tu fais un DROP sur chacune.
    A manipuler avec extreme precaution je pense.

    Mais pourquoi avoir une table par année ?
    Il y a un petit hic....

    J'utilise la version php 1.8 et il ne reconnait pas INFORMATION_SCHEMA.TABLES....

  7. #7
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par lou87 Voir le message
    J'utilise la version php 1.8 et il ne reconnait pas INFORMATION_SCHEMA.TABLES....
    C'est du SQL donc l'erreur ne vient pas de php mais de MySQL à mon avis.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW TABLES FROM base_de_donnée LIKE '%2005%'
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par lou87 Voir le message
    Parce que sinon ça ferait d'énoooorrrrrmmmmes tables.....
    C'est combien chez toi 'énoooorrrrrmmmmes' ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Membre éclairé Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Par défaut
    Hé bien.... dans la tranche des 1174 enregistrements.... si je cumule les données des différentes années dans un même tableau et ces données ne cesseront d'augmenter de jours en jours (+1 chaque jours....)

    Voili ^_^

    Je pense que vous commencez à comprendre pourquoi je veux les mettre dans différents tableaux par années...

    Surtout si je dois supprimer les données datant de plus de 3 ans...

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    1000 enregistrement ce n'est rien.

    Pour information les limites de taille par systeme :
    Operating System File-size Limit
    Win32 w/ FAT/FAT32 2GB/4GB
    Win32 w/ NTFS 2TB (possibly larger)
    Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)
    Linux 2.4+ (using ext3 filesystem) 4TB
    Solaris 9/10 16TB
    MacOS X w/ HFS+ 2TB
    NetWare w/NSS filesystem 8TB
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Le logiciel sur lequel je travaille fait des statistiques sur des tables allant jusqu'à plusieurs millions d'enregistrements.
    Comme les résultats sont représentés graphiquement sur la carte de France dont le plus petit découpage est la commune, la table de représentation fait donc plus de 36 000 lignes.

    J'avais raison de poser la question !

    Réunis tout ça en une seule table. Surtout si tu supprimes les données vieilles de 3 ans. Tes tables ne seront jamais assez grosses pour faire planter MySQL.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  13. #13
    Membre éclairé Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Par défaut
    D'accord

    Merci pour les informations.

  14. #14
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    De plus si tu crée les tables toi même , tu dois déjà avoir le nom , suffit juste de mettre la bonne année a la fin ..
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

Discussions similaires

  1. Réduire une table selon un critère particulier
    Par taïtonne dans le forum SAS Base
    Réponses: 2
    Dernier message: 07/04/2014, 14h23
  2. Affichage d'une table selon les critères d'une autre
    Par trifly dans le forum Requêtes
    Réponses: 5
    Dernier message: 27/05/2011, 09h24
  3. Réponses: 18
    Dernier message: 09/12/2010, 20h40
  4. Réponses: 4
    Dernier message: 22/06/2009, 18h14
  5. Réponses: 19
    Dernier message: 28/07/2006, 10h57

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