यह कुछ जटिल काम है। और आप वास्तव में इसे एक चरण में नहीं कर सकते। मैं आपको शुरुआत करने के लिए कुछ दूंगा, और आपको इसे वहां से लेना होगा:
select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME="user_id";
अब यह इस तरह से आउटपुट देगा:
+--------------------------------------------------------------------+
| CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") |
+--------------------------------------------------------------------+
| SELECT * FROM table0 WHERE user_id=1; |
| SELECT * FROM table1 WHERE user_id=1; |
अब, आप उन सभी आदेशों को घुमाना और निष्पादित करना चाहते हैं... तो इसे इस तरह करें:
select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE user_id=1;") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME="user_id" INTO OUTFILE "some_file_path_and_name";
यह आपको उन सभी कमांडों से भरी एक टेक्स्ट फ़ाइल देगा, जिनकी आप तलाश कर रहे हैं।
अपडेट---
मैं "किसी भी कॉलम बिट के लिए.." से चूक गया।
select CONCAT("SELECT * FROM ", TABLE_NAME, " WHERE ", COLUMN_NAME, "='WHATEVER';") FROM INFORMATION_SCHEMA.COLUMNS WHERE COLLATION_NAME IS NOT NULL INTO OUTFILE 'somepath';
यहां, हम इस तथ्य का उपयोग कर रहे हैं कि आपने कहा था कि आप एक स्ट्रिंग की तलाश कर रहे हैं, और सभी स्ट्रिंग प्रकार के फ़ील्ड में एक collation_name है। जो कुछ भी आप ढूंढ रहे हैं उसके साथ बदलें।