क्या MySQL में show tables
से चयन करना संभव है?"शो टेबल" से डेटा का चयन करें MySQL क्वेरी
SELECT * FROM (SHOW TABLES) AS `my_tables`
इन पंक्तियों के साथ कुछ, हालांकि उपर्युक्त काम नहीं करता है (कम से कम 5.0.51 ए पर)।
क्या MySQL में show tables
से चयन करना संभव है?"शो टेबल" से डेटा का चयन करें MySQL क्वेरी
SELECT * FROM (SHOW TABLES) AS `my_tables`
इन पंक्तियों के साथ कुछ, हालांकि उपर्युक्त काम नहीं करता है (कम से कम 5.0.51 ए पर)।
क्या आपने INFORMATION_SCHEMA.Tables पूछताछ की है?
SELECT ic.Table_Name,
ic.Column_Name,
ic.data_Type,
IFNULL(Character_Maximum_Length,'') AS `Max`,
ic.Numeric_precision as `Precision`,
ic.numeric_scale as Scale,
ic.Character_Maximum_Length as VarCharSize,
ic.is_nullable as Nulls,
ic.ordinal_position as OrdinalPos,
ic.column_default as ColDefault,
ku.ordinal_position as PK,
kcu.constraint_name,
kcu.ordinal_position,
tc.constraint_type
FROM INFORMATION_SCHEMA.COLUMNS ic
left outer join INFORMATION_SCHEMA.key_column_usage ku
on ku.table_name = ic.table_name
and ku.column_name = ic.column_name
left outer join information_schema.key_column_usage kcu
on kcu.column_name = ic.column_name
and kcu.table_name = ic.table_name
left outer join information_schema.table_constraints tc
on kcu.constraint_name = tc.constraint_name
order by ic.table_name, ic.ordinal_position;
में के रूप में मुझे लगता है कि आप SELECT * FROM INFORMATION_SCHEMA.TABLES
चाहते http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
यह आपको ओपी के रूप में तालिका की सामग्री नहीं, टेबल के बारे में जानकारी (मेटा) देता है। – physicalattraction
यह विंडोज पर कम केस टेबल नाम देता है, जबकि 'शो टैबलेट' निर्दिष्ट के रूप में आवरण देता है। – AndreKR
देखें मुझे लगता है कि क्या आप चाहते हैं MySQL के INFORMATION_SCHEMA दृश्य (ओं) है: http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
यह आपको ओपी के रूप में टेबल की सामग्री नहीं, टेबल के बारे में जानकारी (मेटा) देता है। – physicalattraction
SELECT * FROM INFORMATION_SCHEMA.TABLES
यह एक होना चाहिए अच्छी शुरुआत। अधिक जानकारी के लिए, INFORMATION_SCHEMA Tables देखें।
यह आपको ओपी के रूप में टेबल की सामग्री नहीं, टेबल के बारे में जानकारी (मेटा) देता है। – physicalattraction
मुझे समझ में नहीं आता कि आप कथन के हिस्से के रूप में SELECT * FROM
का उपयोग क्यों करना चाहते हैं।
ओपी टेबल टैबलेट द्वारा लौटे गए टेबल्स से डेटा निकालना चाहता है, टेबल्स के बारे में जानकारी नहीं है। – physicalattraction
मैं के बारे में पता नहीं है कि, जब तक आप INFORMATION_SCHEMA
से चयन करें, के रूप में दूसरों का उल्लेख किया है।
हालांकि, SHOW
आदेश, सुंदर लचीला है उदाहरण के लिए:
SHOW tables like '%s%'
यह आपको ओपी के रूप में तालिका की सामग्री नहीं, टेबल के बारे में जानकारी (मेटा) देता है। – physicalattraction
SELECT column_comment FROM information_schema.columns WHERE table_name = 'myTable' AND column_name = 'myColumnName'
इस पर टिप्पणी वापस आ जाएगी: myTable.myColumnName
यह आपको ओपी के रूप में तालिका की सामग्री नहीं, टेबल के बारे में जानकारी (मेटा) देता है। – physicalattraction
हाँ, TABLE_SCHEMA से चयन के लिए बहुत उपयोगी हो सकता है तंत्र अध्यक्ष। यदि आपके पास बहुत सारे सर्वर, डेटाबेस, टेबल हैं ... कभी-कभी आपको तत्वों का समूह या अद्यतन करने की आवश्यकता होती है। उदाहरण के उपसर्ग नाम "wp_old _..." के साथ सभी तालिकाओं ड्रॉप के लिए क्वेरी बनाने के लिए के लिए:
SELECT concat('DROP TABLE ', table_name, ';') FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = '*name_of_your_database*'
AND table_name LIKE 'wp_old_%';
यह आपको ओपी के रूप में टेबल की सामग्री नहीं, टेबल के बारे में जानकारी (मेटा) देता है। – physicalattraction
MySql 5.1 में तुम कोशिश कर सकते
show tables like 'user%';
उत्पादन:
mysql> show tables like 'user%';
+----------------------------+
| Tables_in_test (user%) |
+----------------------------+
| user |
| user_password |
+----------------------------+
2 rows in set (0.00 sec)
यह आपको ओपी के रूप में तालिका की सामग्री नहीं, टेबल के बारे में जानकारी (मेटा) देता है। – physicalattraction
आप अपने उदाहरण में एक सबक्वायरी के अंदर SHOW
कथन नहीं डाल सकते हैं। एकमात्र कथन जो सबक्वायरी में जा सकता है SELECT
है।
जैसा कि अन्य उत्तरों ने कहा है, आप INFORMATION_SCHEMA से सीधे SELECT
से पूछ सकते हैं और इस तरह से बहुत अधिक लचीलापन प्राप्त कर सकते हैं।
MySQL का SHOW
कथन INFORMATION_SCHEMA तालिकाओं के विरुद्ध आंतरिक रूप से केवल प्रश्न हैं।
उपयोगकर्ता @physicalattraction अधिकांश अन्य जवाब पर इस टिप्पणी पोस्ट की है:
यह आपको (मेटा) टेबल, नहीं तालिका की सामग्री के बारे में जानकारी देता है के रूप में ओ पी इरादा है। - physicalattraction
इसके विपरीत, ओपी के सवाल नहीं कहते हैं कि वे सभी तालिकाओं में डेटा का चयन करना चाहते है। वे कहते हैं कि वे SHOW TABLES
के परिणाम से चयन करना चाहते हैं, जो कि तालिका नामों की एक सूची है।
यदि ओपी सभी तालिकाओं से सभी डेटा चुनना चाहता है, तो उत्तर नहीं है, आप इसे एक प्रश्न के साथ नहीं कर सकते हैं। प्रत्येक क्वेरी को स्पष्ट रूप से इसकी सारणी का नाम देना चाहिए। आप टेबल नाम को एक चर या एक ही क्वेरी के दूसरे भाग के परिणाम नहीं बना सकते हैं। साथ ही, किसी दिए गए क्वेरी परिणाम के सभी पंक्तियों में एक ही कॉलम होना चाहिए।
इसलिए सभी तालिकाओं से सभी डेटा का चयन करने का एकमात्र तरीका SHOW TABLES
चलाया जाएगा और फिर उस परिणाम में नामित प्रत्येक तालिका के लिए, एक और क्वेरी चलाएं।
आप करीब से आपको लगता है — शो तालिकाएं हो सकता है पहले से ही बर्ताव करता है का चयन करें की तरह एक बहुत कुछ:
$pdo = new PDO("mysql:host=$host;dbname=$dbname",$user,$pass);
foreach ($pdo->query("SHOW TABLES") as $row) {
print "Table $row[Tables_in_$dbname]\n";
}
गिनती करने के लिए:
SELECT COUNT(*) as total FROM (SELECT TABLE_NAME as tab, TABLES.* FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='database_name' GROUP BY tab) tables;
सूचीबद्ध करने के लिए:
SELECT TABLE_NAME as table, TABLES.* FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='database_name' GROUP BY table;
स्टैक ओवरव्लो में आपका स्वागत है! यहां, हम अंग्रेजी को हमारी मुख्य भाषा के रूप में उपयोग करते हैं। कृपया सुनिश्चित करें कि आपकी पोस्ट अंग्रेजी में हैं। –
आप कर सकते हैं संग्रहित प्रक्रिया बनाएं और तालिका के नाम कर्सर में रखें, फिर अपने टेबल नामों के माध्यम से लूप करें डेटा दिखाने के लिए। http://www.mysqltutorial.org/getting-started-with-mysql-stored-procedures.aspx
में कर्सर बनाना:
संग्रहीत प्रक्रिया के साथ प्रारंभ करना http://www.mysqltutorial.org/mysql-cursor/
उदाहरण के लिए,
CREATE PROCEDURE `ShowFromTables`()
BEGIN
DECLARE v_finished INTEGER DEFAULT 0;
DECLARE c_table varchar(100) DEFAULT "";
DECLARE table_cursor CURSOR FOR
SELECT table_name FROM information_schema.tables WHERE table_name like 'wp_1%';
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET v_finished = 1;
OPEN table_cursor;
get_data: LOOP
FETCH table_cursor INTO c_table;
IF v_finished = 1 THEN
LEAVE get_data;
END IF;
SET @s=CONCAT("SELECT * FROM ",c_table,";");
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END LOOP get_data;
CLOSE table_cursor;
END
फिर संग्रहीत प्रक्रिया कॉल:
CALL ShowFromTables();
यह छ ओपी के रूप में तालिका के बारे में जानकारी (मेटा) की जानकारी नहीं है, तालिका की सामग्री नहीं। – physicalattraction