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

SQLite तालिका बनाएँ

सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि SQLite CREATE TABLE का उपयोग करके नई टेबल कैसे बनाएं। विभिन्न विकल्पों का उपयोग करते हुए कथन।

SQLite का परिचय CREATE TABLE बयान

SQLite में एक नई तालिका बनाने के लिए, आप CREATE TABLE का उपयोग करें निम्नलिखित सिंटैक्स का उपयोग करते हुए कथन:

CREATE TABLE [IF NOT EXISTS] [schema_name].table_name (
	column_1 data_type PRIMARY KEY,
   	column_2 data_type NOT NULL,
	column_3 data_type DEFAULT 0,
	table_constraints
) [WITHOUT ROWID];Code language: SQL (Structured Query Language) (sql)

इस सिंटैक्स में:

  • सबसे पहले, उस तालिका का नाम निर्दिष्ट करें जिसे आप CREATE TABLE के बाद बनाना चाहते हैं खोजशब्द। टेबल का नाम sqlite_ से शुरू नहीं हो सकता क्योंकि यह SQLite के आंतरिक उपयोग के लिए आरक्षित है।
  • दूसरा, IF NOT EXISTS . का उपयोग करें यदि यह मौजूद नहीं है तो एक नई तालिका बनाने का विकल्प। IF NOT EXISTS . का उपयोग किए बिना पहले से मौजूद तालिका बनाने का प्रयास करना विकल्प के परिणामस्वरूप त्रुटि होगी।
  • तीसरा, वैकल्पिक रूप से schema_name निर्दिष्ट करें जिससे नई तालिका संबंधित है। स्कीमा मुख्य डेटाबेस हो सकता है, temp डेटाबेस या कोई संलग्न डेटाबेस।
  • चौथा, तालिका की कॉलम सूची निर्दिष्ट करें। प्रत्येक कॉलम में एक नाम, डेटा प्रकार और कॉलम बाधा होती है। SQLite PRIMARY KEY का समर्थन करता है , UNIQUE , NOT NULL , और CHECK कॉलम की कमी.
  • पांचवां, तालिका की बाधाओं को निर्दिष्ट करें जैसे PRIMARY KEY , FOREIGN KEY , UNIQUE , और CHECK बाधाएं.
  • अंत में, वैकल्पिक रूप से WITHOUT ROWID का उपयोग करें विकल्प। डिफ़ॉल्ट रूप से, तालिका में एक पंक्ति में एक निहित स्तंभ होता है, जिसे rowid के रूप में संदर्भित किया जाता है , oid या _rowid_ कॉलम। rowid कॉलम एक 64-बिट हस्ताक्षरित पूर्णांक कुंजी संग्रहीत करता है जो विशिष्ट रूप से तालिका के अंदर की पंक्ति की पहचान करता है। यदि आप नहीं चाहते कि SQLite rowid बनाता है कॉलम, आप WITHOUT ROWID निर्दिष्ट करते हैं विकल्प। एक तालिका जिसमें rowid . होता है कॉलम को rowid . के रूप में जाना जाता है टेबल। ध्यान दें कि WITHOUT ROWID विकल्प केवल SQLite 3.8.2 या बाद के संस्करण में उपलब्ध है।

ध्यान दें कि तालिका की प्राथमिक कुंजी एक स्तंभ या स्तंभों का समूह है जो तालिका में प्रत्येक पंक्ति को विशिष्ट रूप से पहचानती है।

SQLite CREATE TABLE उदाहरण

मान लीजिए आपको SQLite का उपयोग करके संपर्कों को प्रबंधित करना है।

प्रत्येक संपर्क में निम्नलिखित जानकारी होती है:

  • पहला नाम
  • उपनाम
  • ईमेल
  • फ़ोन

आवश्यकता यह है कि ईमेल और फोन अद्वितीय होना चाहिए। इसके अलावा, प्रत्येक संपर्क एक या कई समूहों से संबंधित होता है, और प्रत्येक समूह में शून्य या कई संपर्क हो सकते हैं।

इन आवश्यकताओं के आधार पर, हम तीन तालिकाओं के साथ आए:

  • contacts तालिका जो संपर्क जानकारी संग्रहीत करती है।
  • groups तालिका जो समूह जानकारी संग्रहीत करती है।
  • contact_groups तालिका जो संपर्कों और समूहों के बीच संबंधों को संग्रहीत करती है।

निम्न डेटाबेस आरेख तालिकाओं को दिखाता है:contacts groups , और contact_groups.

निम्नलिखित कथन contacts बनाता है टेबल।

CREATE TABLE contacts (
	contact_id INTEGER PRIMARY KEY,
	first_name TEXT NOT NULL,
	last_name TEXT NOT NULL,
	email TEXT NOT NULL UNIQUE,
	phone TEXT NOT NULL UNIQUE
);Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

contact_id contacts . की प्राथमिक कुंजी है टेबल।

चूंकि प्राथमिक कुंजी में एक कॉलम होता है, आप कॉलम बाधा का उपयोग कर सकते हैं।

first_name और last_name कॉलम में TEXT है स्टोरेज क्लास और ये कॉलम हैं NOT NULL . इसका मतलब है कि जब आप contacts . में पंक्तियां डालते या अपडेट करते हैं तो आपको मान प्रदान करने होंगे टेबल।

ईमेल और फोन अद्वितीय हैं इसलिए हम UNIQUE . का उपयोग करते हैं प्रत्येक कॉलम के लिए बाधा।

निम्नलिखित कथन groups बनाता है तालिका:

CREATE TABLE groups (
   group_id INTEGER PRIMARY KEY,
   name TEXT NOT NULL
);Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

groups तालिका दो स्तंभों के साथ काफी सरल है:group_id और name . group_id कॉलम प्राथमिक कुंजी कॉलम है।

निम्नलिखित कथन contact_groups बनाता है तालिका:

CREATE TABLE contact_groups(
   contact_id INTEGER,
   group_id INTEGER,
   PRIMARY KEY (contact_id, group_id),
   FOREIGN KEY (contact_id) 
      REFERENCES contacts (contact_id) 
         ON DELETE CASCADE 
         ON UPDATE NO ACTION,
   FOREIGN KEY (group_id) 
      REFERENCES groups (group_id) 
         ON DELETE CASCADE 
         ON UPDATE NO ACTION
);Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

contact_groups तालिका में एक प्राथमिक कुंजी होती है जिसमें दो कॉलम होते हैं:contact_id और group_id

तालिका प्राथमिक कुंजी बाधा जोड़ने के लिए, आप इस सिंटैक्स का उपयोग करते हैं:

PRIMARY KEY (contact_id, group_id)Code language: SQL (Structured Query Language) (sql)

इसके अलावा, contact_id और group_id विदेशी कुंजी हैं। इसलिए, आप FOREIGN KEY का उपयोग करते हैं प्रत्येक कॉलम के लिए एक विदेशी कुंजी को परिभाषित करने के लिए बाधा।

FOREIGN KEY (contact_id) 
   REFERENCES contacts (contact_id) 
      ON DELETE CASCADE 
      ON UPDATE NO ACTIONCode language: SQL (Structured Query Language) (sql)
FOREIGN KEY (group_id) 
    REFERENCES groups (group_id) 
      ON DELETE CASCADE 
      ON UPDATE NO ACTIONCode language: SQL (Structured Query Language) (sql)

ध्यान दें कि हम FOREIGN KEY में चर्चा करेंगे बाद के ट्यूटोरियल में विस्तार से बाधा।

इस ट्यूटोरियल में, आपने सीखा है कि SQLite CREATE TABLE का उपयोग करके विभिन्न विकल्पों के साथ एक नई तालिका कैसे बनाई जाती है। बयान।


  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. SQLite JSON_TREE ()

  5. विशिष्टता बाधा को संभालने के लिए SQLite अद्यतन में ORDER BY अनुकरण करें