सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि 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-बिट हस्ताक्षरित पूर्णांक कुंजी संग्रहीत करता है जो विशिष्ट रूप से तालिका के अंदर की पंक्ति की पहचान करता है। यदि आप नहीं चाहते कि SQLiterowidबनाता है कॉलम, आप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 का उपयोग करके विभिन्न विकल्पों के साथ एक नई तालिका कैसे बनाई जाती है। बयान।