सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि 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 ACTION
Code language: SQL (Structured Query Language) (sql)
FOREIGN KEY (group_id)
REFERENCES groups (group_id)
ON DELETE CASCADE
ON UPDATE NO ACTION
Code language: SQL (Structured Query Language) (sql)
ध्यान दें कि हम FOREIGN KEY
में चर्चा करेंगे बाद के ट्यूटोरियल में विस्तार से बाधा।
इस ट्यूटोरियल में, आपने सीखा है कि SQLite CREATE TABLE
का उपयोग करके विभिन्न विकल्पों के साथ एक नई तालिका कैसे बनाई जाती है। बयान।