SQLite में, तालिका की संरचना को देखने के कई तरीके हैं। इसलिए, ऐसे कुछ तरीके हैं जिनसे हम उस तालिका में कॉलम के डेटा प्रकार की जांच कर सकते हैं।
एक फ़ंक्शन भी है जो हमें किसी क्वेरी में दिए गए कॉलम के डेटा प्रकार की जांच करने की अनुमति देता है।
SQLite में कॉलम के डेटा प्रकार की जांच करने के पांच तरीके यहां दिए गए हैं।
द PRAGMA table_info()
कथन
PRAGMA table_info()
स्टेटमेंट एक निर्दिष्ट तालिका के बारे में जानकारी देता है, जिसमें उसके कॉलम और डेटा प्रकार शामिल हैं।
यहां Album
. नामक तालिका के बारे में जानकारी लौटाने का एक उदाहरण दिया गया है ।
PRAGMA table_info(Album);
परिणाम:
सीआईडी नाम प्रकार notnull dflt_value pk ------------------------------------------------ --0 एल्बम आईडी इंटीजर 1 1 1 शीर्षक NVARCHAR(160) 1 0 2 कलाकार आईडी इंटेगर 1 0
इस मामले में, कॉलम उनके डेटा प्रकार के साथ स्पष्ट रूप से परिभाषित किए गए थे।
यहां एक और उदाहरण दिया गया है:
PRAGMA table_info(Events);
परिणाम:
सीआईडी नाम प्रकार notnull dflt_value pk---------------------------------------- EventId INTEGER 0 1 1 ईवेंटनाम 0 0 2 प्रारंभ दिनांक 0 0 3 समाप्ति दिनांक 0 0
इस मामले में, केवल पहले कॉलम का डेटा प्रकार स्पष्ट रूप से परिभाषित होता है।
SQLite अन्य प्रमुख RDBMS की तुलना में डेटा प्रकारों के लिए एक अलग दृष्टिकोण का उपयोग करता है। SQLite एक गतिशील टाइपिंग सिस्टम का उपयोग करता है, और इसलिए किसी मान का डेटाटाइप मान से ही जुड़ा होता है, न कि उसके कंटेनर के साथ।
उस ने कहा, SQLite हमें कॉलम के डेटा प्रकार को स्पष्ट रूप से निर्दिष्ट करने की अनुमति देता है। उपरोक्त उदाहरणों में, कुछ कॉलम उनके डेटा प्रकार के साथ स्पष्ट रूप से परिभाषित किए गए थे, और हम उपरोक्त PRAGMA
को चलाकर देख सकते हैं कि वे डेटा प्रकार क्या हैं। बयान।
PRAGMA table_xinfo()
कथन
PRAGMA table_xinfo()
स्टेटमेंट बिल्कुल PRAGMA table_info()
. जैसा ही है स्टेटमेंट, सिवाय इसके कि यह वर्चुअल टेबल पर छिपे हुए कॉलम भी लौटाता है:
PRAGMA table_xinfo(Album);
परिणाम:
सीआईडी नाम प्रकार notnull dflt_value pk छिपा हुआ ------------------------------------------- - ------------ एल्बम आईडी इंटीजर 1 1 0 1 शीर्षक NVARCHAR(160) 1 0 0 2 कलाकार आईडी इंटेगर 1 0 0
हम देख सकते हैं कि यह मूल रूप से table_info()
. जैसा ही है , अतिरिक्त कॉलम को छोड़कर।
.schema
कमांड
तालिका की संरचना को पुनः प्राप्त करने का दूसरा तरीका .schema
. का उपयोग करना है आज्ञा। यह उन कई विधियों में से एक है जिनका उपयोग आप तालिका बनाने के लिए उपयोग किए गए SQL को वापस करने के लिए कर सकते हैं।
उदाहरण:
.schema Album
परिणाम:
टेबल चिनूक बनाएं।[एल्बम]( [ArtistId]) संदर्भ [कलाकार] ([ArtistId]) अद्यतन पर कोई कार्रवाई नहीं हटाने पर; अनुक्रमणिका चिनूक बनाएं।यह विधि हमें तालिका को फिर से बनाने के लिए आवश्यक SQL उत्पन्न करने की अनुमति देती है - जिसमें कोई भी डेटा प्रकार निर्दिष्ट करना शामिल है।
sqlite_schema
टेबलआप
sqlite_schema
. का उपयोग कर सकते हैं पिछले उदाहरण के समान ही तालिका।यहाँ उसी तालिका का उपयोग करने वाला एक उदाहरण दिया गया है।
SELECT sql FROM Chinook.sqlite_schema WHERE tbl_name = 'Album';
परिणाम:
टेबल बनाएं [एल्बम]( ]) संदर्भ [कलाकार] ([कलाकार आईडी]) अद्यतन पर कोई कार्रवाई नहीं हटाने पर कोई कार्रवाई नहीं) सूचकांक बनाएं [IFK_AlbumArtistId] पर [एल्बम] ([कलाकार आईडी])
sqlite_schema
तालिका कोsqlite_master
. का उपयोग करके भी एक्सेस किया जा सकता है ।द
typeof()
समारोहआप
typeof()
. का इस्तेमाल कर सकते हैं किसी क्वेरी द्वारा लौटाए गए कॉलम का डेटा प्रकार प्राप्त करने के लिए फ़ंक्शन। अधिक विशेष रूप से, यह दिए गए व्यंजक का डेटा प्रकार लौटाता है।उदाहरण:
SELECT typeof(Title) FROM Album LIMIT 1;
परिणाम:
पाठयहां मैंने
LIMIT
. का उपयोग किया है परिणाम को केवल एक पंक्ति तक सीमित करने के लिए खंड, अन्यथा हम तालिका में प्रत्येक पंक्ति के लिए एक ही परिणाम को दोहराते हुए देखेंगे।ध्यान रखें कि यह विधि क्वेरी द्वारा लौटाए गए एक्सप्रेशन के डेटा प्रकार को लौटाती है - कॉलम को निर्दिष्ट वास्तविक डेटा प्रकार नहीं। लौटाए गए संभावित प्रकार हैं:
null
integer
real
text
blob
SQLite डेटाबेस में प्रत्येक कॉलम को उपरोक्त प्रकार की समानता में से एक सौंपा गया है।
इन्हें वास्तव में स्टोरेज क्लास के रूप में जाना जाता है। डेटाटाइप की तुलना में स्टोरेज क्लास अधिक सामान्य है। SQL कथनों में सभी मान, चाहे वे SQL कथन पाठ में एम्बेड किए गए शाब्दिक हों या पूर्व-संकलित SQL कथनों के लिए बाध्य पैरामीटर में एक अंतर्निहित संग्रहण वर्ग होता है। डेटाबेस इंजन संख्यात्मक भंडारण वर्गों के बीच मूल्यों को परिवर्तित कर सकता है (INTEGER
और real
) और text
क्वेरी निष्पादन के दौरान।
SQLite में डेटा प्रकारों के बारे में अधिक जानकारी
SQLite में डेटा प्रकारों के बारे में अधिक जानकारी के लिए SQLite डेटाटाइप (SQLite दस्तावेज़ीकरण) और फ्लेक्सिबल टाइपिंग के लाभ (SQLite दस्तावेज़ीकरण) देखें।
यह भी देखें STRICT
टेबल्स (SQLite प्रलेखन), एक सुविधा जो 2021-11-27 को SQLite संस्करण 3.37.0 में जोड़ी गई थी, जो हमें लचीली टाइपिंग प्रणाली को अस्वीकार करने की अनुमति देती है, और इसके बजाय अन्य सभी SQL डेटाबेस इंजनों में पाए जाने वाले पारंपरिक कठोर प्रकार के सिस्टम को लागू करती है। SQL मानक।