Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2212 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql : Faire une recherche dans tout le schema

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mysql : Faire une recherche dans tout le schema

n°2024884
Giz
Posté le 24-09-2010 à 13:02:28  profilanswer
 

Bonjour,
 
J'utilise MySQL et je voudrais faire une recherche dans tout le schema (~100 tables) d'une chaîne de caractère.
 
Comment peut-on faire ?

mood
Publicité
Posté le 24-09-2010 à 13:02:28  profilanswer
 

n°2024906
Antac
..
Posté le 24-09-2010 à 14:46:33  profilanswer
 

Tu veux le faire pour permettre à un utilisateur de faire une recherche sur toutes tables en exploitation ?  
Ou alors pour toi, pour retrouver une chaine de caractère dans une table car tu as zappé dans quelle table elle est ?

n°2024926
Giz
Posté le 24-09-2010 à 16:13:25  profilanswer
 

Antac a écrit :

Tu veux le faire pour permettre à un utilisateur de faire une recherche sur toutes tables en exploitation ?


 
 :non:  
 
 

Antac a écrit :

Ou alors pour toi, pour retrouver une chaine de caractère dans une table car tu as zappé dans quelle table elle est ?


 
 :jap:  
 
 
 :)  

n°2024932
esox_ch
Posté le 24-09-2010 à 16:19:33  profilanswer
 

Le plus simple (surtout si c'est un truc que tu feras 1x dans ta vie) à mon avis c'est de le faire dans un truc genre PL/SQL qui mouline ta base pour avoir toute la liste des DB, puis la liste des tables, puis la liste des champs et les matraques 1 à 1. :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2026072
Antac
..
Posté le 30-09-2010 à 10:04:49  profilanswer
 

Le plus simple c'est de faire un export de ta base en fichier SQL, qui va te sortir un fichier texte (qui peut être conséquent) puis tu fais une recherche sur ce fichier texte.

n°2026076
skeye
Posté le 30-09-2010 à 10:26:38  profilanswer
 

Tu fais un select qui va générer des select sur toutes les champs de chaque table? :D
genre ça (oracle ici, mais on doit pouvoir faire pareil), et tu n'as plus qu'à exécuter le résultat (avec beaucoup de patience) :

 
Code :
  1. SELECT 'select * from '||sys.user_tab_columns.table_name||' where '||sys.user_tab_columns.column_name||' = machainerecherchée;'
  2. FROM sys.user_tab_columns


Message édité par skeye le 30-09-2010 à 10:27:31

---------------
Can't buy what I want because it's free -
n°2026078
esox_ch
Posté le 30-09-2010 à 10:28:19  profilanswer
 

Et s'il sait pas dans quelle base il l'a perdu, faire boucler par dessus toutes les bases.
ça doit être marrant de lancer quelque chose du genre sur un grosse base de prod :o
Surtout s'il sait plus exactement le champ et qu'il fait un LIKE %trucmachin%  :lol:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2026079
skeye
Posté le 30-09-2010 à 10:30:31  profilanswer
 

esox_ch a écrit :

Et s'il sait pas dans quelle base il l'a perdu, faire boucler par dessus toutes les bases.
ça doit être marrant de lancer quelque chose du genre sur un grosse base de prod :o
Surtout s'il sait plus exactement le champ et qu'il fait un LIKE %trucmachin%  :lol:


 
J'ai fait ça récemment sur une copie d'une base de prod - 450 tables, faut pas être pressé, et relativement désespéré.[:pingouino]


---------------
Can't buy what I want because it's free -
n°2061975
Giz
Posté le 09-03-2011 à 09:50:12  profilanswer
 

Antac a écrit :

Le plus simple c'est de faire un export de ta base en fichier SQL, qui va te sortir un fichier texte (qui peut être conséquent) puis tu fais une recherche sur ce fichier texte.


 
Oui, il me semble que c'est la solution la plus judicieuse. Merci :).


---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql : Faire une recherche dans tout le schema

 

Sujets relatifs
Incrémenter des données dans une base MySql[MySQL] Besoin d'aide pour optimiser une requête
MySql tres sensible aux surchages et aux requetes simultanees[MySQL/PHP] Précision du Like '%valeur%' ??
[Recherche] Lecteur vidéo .avi, wmv, etc...Moteur de recherche affichant les images des resultats
[MySQL] Presenter des donnees en ligne en colonne[mysql] SELECT puis UPDATE du SELECT en une requete
recherche Graphiste et developpeur pour unprojet webRecherche une idée sur la programation d'un site php simple (help) urg
Plus de sujets relatifs à : Mysql : Faire une recherche dans tout le schema


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR