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

SQLite में किसी तालिका की संरचना के बारे में जानकारी प्राप्त करने के 4 तरीके

कभी-कभी आप केवल तालिका की मूल संरचना देखना चाहते हैं।

SQLite में, दी गई तालिका के बारे में जानकारी प्राप्त करने के कई तरीके हैं। विशेष रूप से, यहां चार विकल्प दिए गए हैं:

  • PRAGMA table_info() बयान
  • PRAGMA table_xinfo() स्टेटमेंट (वर्चुअल टेबल के लिए)
  • .schema आदेश
  • sqlite_master टेबल

प्रत्येक विधि के उदाहरण नीचे हैं।

PRAGMA table_info()

PRAGMA table_info() कथन नामित तालिका में प्रत्येक स्तंभ के लिए एक पंक्ति देता है। यह एक SQLite की तरह है जो DESCRIBE . के बराबर है MySQL में स्टेटमेंट।

वाक्यविन्यास

वाक्य रचना इस प्रकार है:

PRAGMA schema.table_info(table-name);

जहां table-name उस तालिका का नाम है जिसके बारे में आपको जानकारी चाहिए।

schema भाग वैकल्पिक है। यह संलग्न डेटाबेस का नाम है या main या temp मुख्य और टीईएमपी डेटाबेस के लिए। यदि आप इसे प्रदान नहीं करते हैं तो मुख्य डेटाबेस का उपयोग किया जाएगा।

उदाहरण

यहां पालतू जानवर . नामक तालिका के बारे में जानकारी लौटाने का एक उदाहरण दिया गया है ।

PRAGMA table_info(Pets);

परिणाम:

cid         name        type        notnull     dflt_value  pk        
----------  ----------  ----------  ----------  ----------  ----------
0           PetId       INTEGER     0                       1         
1           PetName                 0                       0         
2           TypeId                  0                       0         

इस मामले में, केवल पहला कॉलम (PetId .) ) का डेटा प्रकार स्पष्ट रूप से परिभाषित है। अन्य को उनके प्रकारों को स्पष्ट रूप से परिभाषित किए बिना बनाया गया था।

हम यह भी देख सकते हैं कि PetId स्तंभ प्राथमिक कुंजी स्तंभ है (एक 1 . है पीके . में कॉलम)।

PRAGMA table_xinfo()

PRAGMA table_xinfo() स्टेटमेंट बिल्कुल PRAGMA table_info() . जैसा ही है स्टेटमेंट, सिवाय इसके कि यह वर्चुअल टेबल पर छिपे हुए कॉलम भी लौटाता है।

यदि आप किसी छिपे हुए कॉलम सहित किसी वर्चुअल टेबल की संरचना देखना चाहते हैं, तो इसका उपयोग किया जा सकता है।

पिछले उदाहरण से उसी तालिका का उपयोग करते हुए एक उदाहरण यहां दिया गया है।

PRAGMA table_xinfo(Pets);

परिणाम:

cid         name        type        notnull     dflt_value  pk          hidden    
----------  ----------  ----------  ----------  ----------  ----------  ----------
0           PetId       INTEGER     0                       1           0         
1           PetName                 0                       0           0         
2           TypeId                  0                       0           0         

अतिरिक्त कॉलम देखने के लिए आपको बग़ल में स्क्रॉल करना पड़ सकता है। इस मामले में कोई भी कॉलम छिपा नहीं है (और यह वर्चुअल टेबल नहीं है), इसलिए सभी पंक्तियां 0 हैं उस कॉलम के लिए।

यहाँ परिणाम फिर से है, लेकिन लंबवत आउटपुट का उपयोग करना (.mode line ) ताकि आपको बग़ल में स्क्रॉल न करना पड़े।

.mode line
PRAGMA table_xinfo(Pets);

परिणाम:

       cid = 0
      name = PetId
      type = INTEGER
   notnull = 0
dflt_value = 
        pk = 1
    hidden = 0


       cid = 1
      name = PetName
      type = 
   notnull = 0
dflt_value = 
        pk = 0
    hidden = 0


       cid = 2
      name = TypeId
      type = 
   notnull = 0
dflt_value = 
        pk = 0
    hidden = 0

.स्कीमा कमांड

तालिका की संरचना को पुनः प्राप्त करने का दूसरा तरीका .schema . का उपयोग करना है आज्ञा। यह उन कई विधियों में से एक है जिनका उपयोग आप तालिका बनाने के लिए उपयोग किए गए SQL को वापस करने के लिए कर सकते हैं।

पिछले उदाहरण से उसी तालिका का उपयोग करते हुए एक उदाहरण यहां दिया गया है।

.schema Pets

परिणाम:

CREATE TABLE Pets( 
    PetId INTEGER PRIMARY KEY, 
    PetName,
    TypeId,
    FOREIGN KEY(TypeId) REFERENCES Types(TypeId)
);

यह विधि हमें तालिका के बारे में अधिक जानकारी देखने की अनुमति देती है। इस उदाहरण में, हम देख सकते हैं कि TypeId कॉलम वास्तव में एक विदेशी कुंजी है जो किसी अन्य तालिका के कॉलम को संदर्भित करती है।

द sqlite_मास्टर टेबल

आप sqlite_master का उपयोग कर सकते हैं पिछले उदाहरण के समान ही तालिका।

यहाँ उसी तालिका का उपयोग करने वाला एक उदाहरण दिया गया है।

SELECT sql 
FROM sqlite_master 
WHERE tbl_name = 'Pets';

परिणाम:

CREATE TABLE Pets( 
    PetId INTEGER PRIMARY KEY, 
    PetName,
    TypeId,
    FOREIGN KEY(TypeId) REFERENCES Types(TypeId)
)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite Sum () बनाम टोटल ():क्या अंतर है?

  2. SQLite मिन () कैसे काम करता है

  3. एक टैब से अलग सूची के रूप में आउटपुट SQLite क्वेरी परिणाम

  4. स्पिनर की स्थिति शून्य को शीघ्र मान कैसे दें?

  5. असंतुष्ट लिंक्स मूल पद्धति में त्रुटि