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

SQLite में एक टेबल बनाएं

SQLite में एक टेबल बनाने के लिए, CREATE TABLE का उपयोग करें बयान।

यह कथन तालिका नाम, स्तंभ नाम और उनकी परिभाषाओं के साथ-साथ कुछ अन्य विकल्पों को स्वीकार करता है।

उदाहरण

यहां एक बुनियादी उदाहरण दिया गया है।

CREATE TABLE Products(
  ProductId INTEGER PRIMARY KEY AUTOINCREMENT, 
  ProductName TEXT NOT NULL,
  Price NUMERIC
);

तो इस मामले में, Products तालिका का नाम है, और इसमें तीन स्तंभ हैं; ProductId , ProductName , और Price .

इस उदाहरण में, मैंने प्रत्येक कॉलम के डेटा प्रकार के साथ-साथ कुछ बाधाओं को भी जोड़ा है, लेकिन ये सभी वैकल्पिक हैं।

स्कीमा निर्दिष्ट करें

तालिका का नाम (वैकल्पिक रूप से) स्कीमा नाम से पहले लगाया जा सकता है। ऐसा करते समय, स्कीमा नाम या तो main होना चाहिए , temp , या संलग्न डेटाबेस का नाम।

तो मैं इसके बजाय ऐसा कर सकता था:

CREATE TABLE Store.Products(
  ProductId, 
  ProductName,
  Price
);

इस मामले में, Store संलग्न डेटाबेस का नाम है जिसमें मैं तालिका बनाना चाहता हूं।

कॉलम नाम के बाद डेटा प्रकार और कोई बाधा हो सकती है।

डेटा प्रकार वैकल्पिक है

हां, आपने सही पढ़ा - डेटा प्रकार वास्तव में वैकल्पिक है।

SQLite डायनामिक टाइपिंग का उपयोग करता है और इसलिए किसी मान का डेटा प्रकार मान से ही जुड़ा होता है, न कि उसके कंटेनर (कॉलम) से। यह अधिकांश अन्य SQL डेटाबेस सिस्टम के विपरीत है, जहाँ आपको कॉलम बनाते समय डेटा प्रकार निर्दिष्ट करना होगा।

तो मैं इसके बजाय ऐसा कर सकता था:

CREATE TABLE Products(
  ProductId, 
  ProductName,
  Price
);

प्रतिबंध और अन्य विकल्प

आपके पास किसी भी बाधा या अन्य विकल्प को निर्दिष्ट करने का विकल्प है जिसे आप प्रत्येक कॉलम के लिए लागू करना चाहते हैं। इनमें निम्नलिखित शामिल हैं:

  • DEFAULT खंड। यह तालिका में प्रत्येक स्तंभ के लिए एक डिफ़ॉल्ट मान या व्यंजक निर्दिष्ट करता है।
  • COLLATE कॉलम के लिए डिफ़ॉल्ट संयोजन अनुक्रम के रूप में उपयोग करने के लिए एक कोलाटिंग अनुक्रम का नाम निर्दिष्ट करने के लिए खंड। डिफ़ॉल्ट मान बाइनरी है।
  • PRIMARY KEY खंड। आप वैकल्पिक रूप से निर्दिष्ट कर सकते हैं कि कॉलम प्राथमिक कुंजी है। SQLite में सिंगल कॉलम और कंपोजिट (मल्टीपल कॉलम) दोनों प्राथमिक कुंजियाँ समर्थित हैं।
  • SQLite UNIQUE, NOT NULL, CHECK, और FOREIGN KEY बाधाओं का भी समर्थन करता है।
  • एक उत्पन्न स्तंभ बाधा (जिसे परिकलित स्तंभ भी कहा जाता है)। ये ऐसे स्तंभ हैं जिनके मान समान पंक्ति के अन्य स्तंभों के फलन हैं।
  • चाहे टेबल एक WITHOUT ROWID है टेबल। यह एक प्रदर्शन अनुकूलन तकनीक है जो "पंक्तिबद्ध" कॉलम को छोड़ देती है जो एक विशेष कॉलम है जो SQLite डिफ़ॉल्ट रूप से उपयोग करता है। इस तकनीक के बारे में अधिक जानकारी के लिए, SQLite दस्तावेज़ीकरण देखें।

अस्थायी टेबल

TEMP . का उपयोग करके आप निर्दिष्ट कर सकते हैं कि तालिका एक अस्थायी तालिका है या temp खोजशब्द।

यदि इनमें से किसी एक कीवर्ड का उपयोग कर रहे हैं, तो उन्हें CREATE . के बीच में डाला जाना चाहिए और TABLE .

यहां एक उदाहरण दिया गया है:

CREATE TEMP TABLE Products(
  ProductId, 
  ProductName,
  Price
);

आप temp भी जोड़ सकते हैं यदि आप चाहें तो स्कीमा।

SQLite में अस्थायी तालिकाएँ बनाने के अधिक उदाहरणों के लिए एक अस्थायी तालिका कैसे बनाएँ देखें।

किसी अन्य तालिका से तालिका बनाएं

आप CREATE TABLE ... AS SELECT . का भी उपयोग कर सकते हैं किसी अन्य तालिका के आधार पर एक नई तालिका बनाने के लिए कथन। जब आप ऐसा करते हैं, तो नई तालिका SELECT . के डेटा से भर जाती है स्टेटमेंट (जो किसी अन्य टेबल या टेबल से डेटा का चयन करता है)।

यहां एक बुनियादी उदाहरण दिया गया है:

CREATE TABLE Store.Products2 AS 
SELECT * FROM Store.Products;

यह उदाहरण Products2 . नामक एक नई तालिका बनाता है और इसे Products . के सभी डेटा से भर देता है टेबल।

सभी कॉलम नाम मूल तालिका के समान हैं।

यह ध्यान रखना महत्वपूर्ण है कि इस तरह से बनाई गई तालिकाओं में कोई प्राथमिक कुंजी नहीं है और किसी भी प्रकार की कोई बाधा नहीं है। साथ ही, प्रत्येक कॉलम का डिफ़ॉल्ट मान NULL है . साथ ही, नई तालिका के प्रत्येक स्तंभ के लिए डिफ़ॉल्ट मिलान अनुक्रम बाइनरी है।


  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 में कैसे काम करता है?

  2. डेटाबेस को रीड/राइट मोड में नहीं खोल सका

  3. SQLite पूर्ण बाहरी जॉइन अनुकरण

  4. सेवा के रुकने पर गतिविधि डेटा अपडेट करें

  5. Android SQLite त्रुटि:चर संख्या ?1 और ?999 . के बीच होनी चाहिए