MySQL में टेबल देखने की दो प्राथमिक विधियाँ हैं:
- द MYSQL शो टेबल्स आदेश।
- Information_schema.tables की क्वेरी करना टेबल.
इस लेख में, हम उन दोनों का पता लगाने जा रहे हैं।
MySQL शो टेबल्स कमांड
शो टेबल कमांड डेटाबेस में बनाई गई सभी तालिकाओं की सूची प्रदर्शित करता है। वाक्य रचना इस प्रकार है:
SHOW [EXTENDED] | [FULL] TABLES
[{FROM} database_name]
[LIKE 'DBNamePattern']
वाक्य रचना में,
- संशोधक :हम तालिकाओं को देखने के लिए निम्नलिखित में से किसी भी विकल्प का उपयोग कर सकते हैं:
- विस्तारित – यह विकल्प उन तालिकाओं की सूची को पॉप्युलेट करता है जो विफल ALTER TABLE कथनों द्वारा बनाई गई हैं।
- पूर्ण – यह विकल्प एक अतिरिक्त कॉलम दिखाता है जो तालिका का प्रकार प्रदान करता है। यह एक बेस टेबल, एक व्यू या सिस्टम व्यू हो सकता है।
- से - यदि आप विशिष्ट तालिका से तालिकाओं की सूची को पॉप्युलेट करना चाहते हैं, तो आप FROM कीवर्ड का उपयोग कर सकते हैं।
- पसंद करें - यदि आप टेबल की सूची को उनके नाम में एक विशिष्ट पैटर्न के साथ पॉप्युलेट करना चाहते हैं, तो आप LIKE कीवर्ड का उपयोग कर सकते हैं।
आइए उदाहरण देखें।
उदाहरण 1:विशिष्ट डेटाबेस में बनाई गई सभी तालिकाएं दिखाएं
सकिला . में बनाई गई सभी MySQL तालिकाओं को देखने के लिए डेटाबेस, FULL संशोधक और FROM कीवर्ड का उपयोग करें। निम्न आदेश चलाएँ:
mysql> SHOW TABLES FROM sakila;
आउटपुट
जैसा कि आप देख सकते हैं, क्वेरी ने सकिला . से तालिकाओं की सूची को पॉप्युलेट किया डेटाबेस।
उदाहरण 2:विशिष्ट कीवर्ड पैटर्न वाली तालिकाओं की सूची तैयार करें
मान लीजिए कि हम उन तालिकाओं की सूची प्राप्त करना चाहते हैं जिनके नाम कीवर्ड से शुरू होते हैं फिल्म . हम पैटर्न से मेल खाने के लिए LIKE कीवर्ड का उपयोग कर रहे हैं।
लेकिन जब हम LIKE . का उपयोग करते हैं कीवर्ड, हम FROM . का उपयोग नहीं कर सकते संशोधक क्वेरी इस प्रकार है:
use sakila;
SHOW TABLES like 'film%'
आउटपुट
उदाहरण 3:तालिकाओं की सूची को उसके प्रकार से भर दें
तालिकाओं की सूची को उनके प्रकार से भरने के लिए, हम पूर्ण . का उपयोग कर सकते हैं संशोधक मान लीजिए कि हम साकिला डेटाबेस में बनाए गए उनके प्रकारों के साथ तालिकाओं की सूची प्राप्त करना चाहते हैं। निम्नलिखित प्रश्न देखें:
mysql> SHOW FULL TABLES FROM sakila;
आउटपुट
अब, आइए information_schema.tables . से तालिकाओं की सूची तैयार करें .
जानकारी क्वेरी करना_schema.tables तालिका
MySQL टेबल देखने के लिए, हम information_schema.tables . का उपयोग कर सकते हैं तालिका जिसमें निम्नलिखित जानकारी है:
- Table_Schema :डेटाबेस या स्कीमा का नाम जिसमें तालिका बनाई गई है।
- Table_name: तालिका का नाम।
- Table_type: तालिका का प्रकार। यह निम्न में से कोई भी हो सकता है:
- सिस्टम दृश्य: सिस्टम दृश्यों की सूची। इसमें डेटाबेस के आंतरिक विवरण की जानकारी होती है। ये दृश्य डेटाबेस जानकारी के साथ कई आधार तालिकाओं को मिलाकर बनाए गए हैं।
- आधार तालिका: बेस टेबल की सूची यूजर टेबल या सिस्टम टेबल हो सकती है।
- देखें: उपयोगकर्ता द्वारा परिभाषित दृश्यों की सूची।
- इंजन :डेटाबेस इंजन का नाम जिसमें तालिका बनाई गई है।
- संस्करण :.frm . की संस्करण संख्या तालिका की फ़ाइल।
- Row_format :पंक्ति भंडारण का प्रारूप। पंक्ति-भंडारण प्रारूप निम्न में से कोई भी हो सकता है:
- निश्चित
- संपीड़ित
- अनावश्यक
- गतिशील
- कॉम्पैक्ट
- Table_rows :तालिका के भीतर पंक्तियों की संख्या। यदि आप InnoDB तालिकाओं का उपयोग कर रहे हैं, तो यह अनुमानित पंक्ति गणना देता है। सटीक पंक्ति गणना प्राप्त करने के लिए, SELECT COUNT(*) . का उपयोग करें क्वेरी.
- औसत_पंक्ति_लंबाई :डेटा फ़ाइल की औसत पंक्ति लंबाई।
- डेटा की लंबाई :यदि आप MyISAM तालिकाओं का उपयोग कर रहे हैं, तो data_length . का मान कॉलम डेटा फ़ाइल की लंबाई है। यदि आप InnoDB तालिकाओं का उपयोग कर रहे हैं, तो Data_length . का मान कॉलम क्लस्टर इंडेक्स को आवंटित आकार की मात्रा को InnoDB पृष्ठ आकार से गुणा करता है।
- Max_data_length: डेटा फ़ाइल की अधिकतम अनुमत लंबाई। यह बाइट्स की संख्या है जिसे टेबल में स्टोर किया जा सकता है।
- सूचकांक_लंबाई: सूचकांक की लंबाई। यदि आप MyISAM तालिकाओं का उपयोग कर रहे हैं, तो index_length . का मान कॉलम इंडेक्स का आकार दिखाता है। यदि आप InnoDB तालिकाओं का उपयोग कर रहे हैं, तो index_length . का मान स्तंभ सभी गैर-संकुल अनुक्रमणिकाओं का कुल आकार है जो पृष्ठ आकार से गुणा किया जाता है।
- डेटा_मुक्त :आवंटित लेकिन अप्रयुक्त बाइट्स की कुल संख्या। यदि आप InnoDB तालिका का उपयोग कर रहे हैं, तो data_free . का मान कॉलम टेबलस्पेस का अप्रयुक्त स्थान है जिसमें तालिका बनाई गई है।
- Auto_increment: Auto_increment . का मान कॉलम अगला ऑटो-इन्क्रीमेंट मान है।
- क्रिएट_टाइम :दिनांक और समय जब तालिका बनाई गई है। जब हम डेटाबेस को पुनर्स्थापित करते हैं, तो create_date . का मान वह समय होगा जब डेटाबेस को पुनर्स्थापित किया गया था।
- अपडेट_टाइम :दिनांक और समय जब डेटा फ़ाइल अपडेट की गई थी। यह InnoDB टेबल पर निष्पादित अंतिम INSERT, UPDATE, या DELETE स्टेटमेंट का टाइमस्टैम्प प्रदर्शित करता है।
- चेक_टाइम: दिनांक और समय जब तालिका की अंतिम बार जाँच की गई थी।
- Table_collation :तालिका के डिफ़ॉल्ट संयोजन का नाम।
- चेकसम :चेकसम मूल्य।
- बनाएं_विकल्प :अतिरिक्त कॉन्फ़िगरेशन विकल्प जिसका उपयोग तालिका बनाने के लिए किया गया था।
- Table_comment :तालिका बनाते समय उपयोग की गई टिप्पणी या जानकारी।
उदाहरण 1:सभी तालिकाओं की सूची तैयार करें
मान लीजिए कि हम सभी डेटाबेस में बनाई गई सभी तालिकाओं को पॉप्युलेट करना चाहते हैं। क्वेरी इस प्रकार है:
mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables;
आउटपुट
जैसा कि आप देख सकते हैं, क्वेरी ने डेटाबेस नाम के साथ तालिकाओं की सूची को पॉप्युलेट कर दिया है और समय बना दिया है। क्वेरी ने कई रिकॉर्ड लौटाए, इसलिए आउटपुट ट्रिम कर दिया गया है।
उदाहरण 2:विशिष्ट डेटाबेस में बनाई गई सभी तालिकाओं की सूची तैयार करें
सकिला . में बनाई गई तालिकाओं की सूची को भरने के लिए डेटाबेस में, आप Table_Schema . पर फ़िल्टर लागू कर सकते हैं कॉलम:
mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables WHERE table_schema='sakila';
आउटपुट
जैसा कि आप देख सकते हैं, क्वेरी ने साकिला डेटाबेस में बनाई गई तालिकाओं और दृश्यों की सूची, इसके निर्माण समय और प्रकार को वापस कर दिया है।
उदाहरण 3:पंक्ति गणना के साथ सभी तालिकाओं की सूची तैयार करें
हम Table_rows . शामिल कर सकते हैं MySQL तालिकाओं की पंक्ति संख्या देखने के लिए कॉलम। मान लीजिए आप उन तालिकाओं की सूची प्राप्त करना चाहते हैं जिनका नाम फिल्म . से शुरू होता है . आउटपुट में उन तालिकाओं में रिकॉर्ड की संख्या शामिल होनी चाहिए।
mysql> select table_catalog, table_schema, table_name,table_type,table_rows from information_schema.tables WHERE table_schema='sakila' and table_name like 'film%' and table_type='BASE TABLE';
आउटपुट
उदाहरण 4:तालिकाओं और दृश्यों की संख्या को पॉप्युलेट करें
उदाहरण के लिए, हम डेटाबेस में बनाई गई तालिकाओं और विचारों की संख्या प्राप्त करना चाहते हैं। ऐसा करने के लिए, निम्न क्वेरी चलाएँ:
mysql> select table_schema as 'Database OR Schema name', count(table_type) as 'Tables and Views', table_type as 'Object Type' from information_schema.tables group by table_type,table_schema;
आउटपुट
जैसा कि आप ऊपर की छवि में देख सकते हैं, क्वेरी ने सभी डेटाबेस में बनाए गए तालिकाओं और दृश्यों की संख्या को भर दिया है।
उदाहरण 5:उनके आकार वाली तालिकाएं
अब, हम सकिला . में बनाई गई तालिकाओं की सूची को भरना चाहते हैं उनके आकार के साथ डेटाबेस। सूची बनाने के लिए, निम्न क्वेरी चलाएँ:
mysql> SELECT Table_schema as 'Database Name', TABLE_NAME AS 'Table', ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 ) AS 'Size in KB' FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'sakila' and table_type='BASE TABLE' ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
आउटपुट
जैसा कि आप देख सकते हैं, क्वेरी ने डेटाबेस का नाम, तालिका का नाम और आकार लौटा दिया है।
सारांश
इस प्रकार, हमने डेटाबेस में बनाई गई तालिकाओं की सूची को पॉप्युलेट करने के तरीकों को परिभाषित और सीखा है। हमने दिखाएं . को एक्सप्लोर किया टेबल्स कमांड, और फिर हमने Information_schema.tables को क्वेरी करने की विधि की जांच की टेबल। हमें उम्मीद है कि ये टिप्स आपके वर्कफ़्लो में उपयोगी होंगे।
यदि आप SQL में तालिकाओं के बारे में अधिक जानना चाहते हैं, तो SQL सर्वर में अस्थायी तालिकाओं के बारे में लेख पढ़ें। और अगर आप कुछ जोड़ना चाहते हैं, अपनी कार्य युक्तियाँ साझा करना चाहते हैं, या इन विधियों पर चर्चा करना चाहते हैं, तो टिप्पणी अनुभाग में आपका स्वागत है।