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

SQLite में मौजूदा तालिका में एक कॉलम जोड़ें

SQLite में, आप ALTER TABLE . का उपयोग कर सकते हैं मौजूदा टेबल में कॉलम जोड़ने के लिए स्टेटमेंट।

यह वास्तव में उन कुछ चीजों में से एक है जो आप ALTER TABLE . के साथ कर सकते हैं SQLite में कथन। केवल वही चीज़ें जो आप ALTER TABLE . के साथ कर सकते हैं SQLite में कथन एक तालिका का नाम बदलें, एक कॉलम का नाम बदलें, और एक मौजूदा तालिका में एक नया कॉलम जोड़ें।

उदाहरण 1

कल्पना कीजिए कि हमारे पास निम्न तालिका है:

CREATE TABLE Cats( 
    CatId INTEGER PRIMARY KEY, 
    CatName
);

और अब हम DOB . नामक कॉलम जोड़ना चाहते हैं . हम निम्नलिखित कोड का उपयोग करके ऐसा कर सकते हैं:

ALTER TABLE Cats ADD COLUMN DOB;

यह उतना ही आसान है।

प्रतिबंध

आप परिभाषा के लिए अन्य विनिर्देश भी प्रदान कर सकते हैं, जैसे कि बाधाएं, आदि, लेकिन कुछ प्रतिबंध हैं।

विशेष रूप से:

  • नए कॉलम में PRIMARY KEY नहीं हो सकती है या UNIQUE बाधा।
  • नए कॉलम का डिफ़ॉल्ट मान CURRENT_TIME . नहीं हो सकता है , CURRENT_DATE , CURRENT_TIMESTAMP , या कोष्ठक में व्यंजक।
  • यदि एक NOT NULL बाधा निर्दिष्ट है, तो कॉलम में NULL . के अलावा एक डिफ़ॉल्ट मान होना चाहिए ।
  • यदि विदेशी कुंजी बाधाएं सक्षम हैं और एक REFERENCES वाला कॉलम है क्लॉज जोड़ा गया है, कॉलम में NULL . का डिफ़ॉल्ट मान होना चाहिए ।
  • यदि नया कॉलम जेनरेट किया गया कॉलम है, तो इसे STORED नहीं किया जा सकता है कॉलम। यह एक VIRTUAL हो सकता है हालांकि कॉलम।

उदाहरण 2

यहाँ एक और उदाहरण है, इस बार मैं नए कॉलम की परिभाषा में कुछ और विशिष्टताएँ जोड़ रहा हूँ:

CREATE TABLE Dogs( 
    DogId INTEGER PRIMARY KEY, 
    DogName
);

और अब हम DOB . नामक कॉलम जोड़ना चाहते हैं . हम निम्नलिखित कोड का उपयोग करके ऐसा कर सकते हैं:

ALTER TABLE Dogs 
ADD COLUMN Score NOT NULL DEFAULT 0;

बदलावों की जांच करें

SQLite में किसी तालिका की संरचना की जाँच करने के कई तरीके हैं।

एक तरीका है PRAGMA table_info() . का उपयोग करना बयान।

PRAGMA table_info(Dogs);

परिणाम:

cid  name     type     notnull     dflt_value  pk
---  -------  -------  ----------  ----------  --
0    DogId    INTEGER  0                       1 
1    DogName           0                       0 
2    Score             1           0           0 

हम नया कॉलम देख सकते हैं, और हम देख सकते हैं कि इसमें NOT NULL है बाधा है, और इसका डिफ़ॉल्ट मान 0 . है ।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्पिनर की स्थिति शून्य को शीघ्र मान कैसे दें?

  2. पहले से भरे हुए डेटाबेस को अपडेट करना

  3. रूम लाइब्रेरी एसेट फोल्डर से डीबी कॉपी कर सकती है?

  4. ग्रीनडाओ में टेबल इनहेरिटेंस को कैसे लागू करें

  5. SQLite में कमांड लाइन प्रॉम्प्ट को कैसे बदलें