SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite में सभी अस्थायी तालिकाओं की सूची बनाएं

जैसा कि SQLite में अधिकांश चीजों के साथ होता है, डेटाबेस में अस्थायी तालिकाओं की सूची प्राप्त करने के एक से अधिक तरीके हैं।

यहाँ मैं SQLite में अस्थायी तालिकाओं को वापस करने के दो तरीके प्रस्तुत करता हूँ।

.टेबल्स कमांड

यदि आप SQLite कमांड लाइन शेल से परिचित हैं, तो आप शायद .tables के बारे में जानते होंगे डॉट कमांड। यह आदेश किसी दिए गए पैटर्न से मेल खाने वाली सभी तालिकाओं को सूचीबद्ध करता है (या केवल सभी टेबल, यदि कोई पैटर्न नहीं दिया गया है)। इसमें अस्थायी टेबल शामिल हैं।

उदाहरण:

CREATE TEMP TABLE TempProducts (id, name, price);
.tables

परिणाम:

Products           temp.TempProducts  vProducts 

इस मामले में, मेरे पास एक स्थायी तालिका है (Products ), एक दृश्य (vProducts ), और एक अस्थायी तालिका (temp.TempProducts )।

तो आप देख सकते हैं कि अस्थायी और स्थायी दोनों टेबल वापस आ गए हैं। यदि आपकी अस्थायी तालिकाएँ एक निश्चित नामकरण परंपरा का उपयोग करती हैं, जैसे कि केवल अस्थायी तालिकाओं के लिए आरक्षित उपसर्ग, तो आप केवल अस्थायी तालिकाओं को पुनः प्राप्त करने के लिए पैटर्न मिलान का उपयोग कर सकते हैं।

उदाहरण:

.tables temp%

परिणाम:

temp.TempProducts

हालाँकि, नामकरण परंपराएँ तभी तक अच्छी होती हैं जब तक हर कोई उनका अनुसरण करता है।

यदि आप अपने परिणामों में स्थायी तालिकाओं को वापस नहीं करना चाहते हैं, तो संभवतः आप sqlite_temp_master से पूछताछ करना बेहतर समझते हैं तालिका (नीचे)।

sqlite_temp_master तालिका

SQLite में एक sqlite_temp_master है तालिका जिसमें अस्थायी तालिकाएँ और उनके सूचकांक और ट्रिगर होते हैं। यह तालिका केवल उस एप्लिकेशन को दिखाई देती है जिसने अस्थायी तालिका बनाई है।

आप इस तालिका को इस प्रकार क्वेरी कर सकते हैं:

SELECT name FROM sqlite_temp_master;

परिणाम:

TempProducts

इस उदाहरण में मैं केवल तालिका का नाम लौटाता हूं, लेकिन बेझिझक एक तारांकन चिह्न (* .) का उपयोग करता हूं ) सभी कॉलम वापस करने के लिए।

जैसा कि बताया गया है, इस तालिका में स्थायी टेबल शामिल नहीं हैं। यदि आपको अस्थायी और स्थायी दोनों तालिकाओं को वापस करने की आवश्यकता है, और आप .temp . का उपयोग नहीं कर सकते हैं , आप sqlite_master . को शामिल कर सकते हैं आपकी क्वेरी में तालिका।

उदाहरण:

SELECT name FROM 
   (SELECT * FROM sqlite_master UNION ALL
    SELECT * FROM sqlite_temp_master)
WHERE type='table'
ORDER BY name;

परिणाम:

Products
TempProducts

यदि आप विचारों को शामिल करना चाहते हैं, तो यह करें:

SELECT name FROM 
   (SELECT * FROM sqlite_master UNION ALL
    SELECT * FROM sqlite_temp_master)
WHERE type in ('table', 'view')
ORDER BY name;

परिणाम:

Products
TempProducts
vProducts

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLiteException WHERE +KEY_Date+='+date+' का उपयोग कर

  2. SQLite में समय () फ़ंक्शन कैसे काम करता है

  3. SQLite डंप कमांड का उपयोग कैसे करें

  4. java.lang.IllegalArgumentException:कॉलम '_id' मौजूद नहीं है

  5. SQLite काउंट () कैसे काम करता है