SQLite ट्यूटोरियल: सब कुछ आप को पता होना चाहिए



यह sqlite ट्यूटोरियल आपको यह समझने में मदद करेगा कि sqlite अन्य रिलेशनल डेटाबेस सिस्टम और सभी मूल कमांड से कैसे अलग है

यदि आपने रिलेशनल डेटाबेस सिस्टम के साथ काम किया है, तो संभावना है कि आपने इस तरह के लोकप्रिय डेटाबेस सिस्टम के बारे में सुना होगा माई एसक्यूएल , सर्वर या PostgreSQL । SQLite एक और अत्यंत उपयोगी RDBMS है जो सेट अप और संचालित करने के लिए बहुत सरल है। साथ ही, अन्य रिलेशनल डेटाबेस पर इसकी कई विशिष्ट विशेषताएं हैं। यह SQLite ट्यूटोरियल बुनियादी अवधारणाओं को सिखाता है जिन्हें आपको व्यापक हाथों की प्रथाओं की मदद से जानना चाहिए।

इस लेख में चर्चा किए गए विषय हैं:





SQLite ट्यूटोरियल: SQLite क्या है?

यहाँ SQLite की उद्योग मानक परिभाषा है:

SQLite एक ओपन-सोर्स, शून्य-कॉन्फ़िगरेशन, स्व-निहित, स्टैंड-अलोन, ट्रांजेक्शन रिलेशनल डेटाबेस इंजन है जिसे एक एप्लीकेशन में एम्बेड किया गया है।

आप विचार कर सकते हैं SQLite के रूप में ' लाइटर अन्य जटिल RDBMS का संस्करण (Oracle, , आदि), जहां इसके डेटाबेस इंजन के लिए कॉन्फ़िगर किया गया है स्वतंत्र प्रसंस्करण (इन-प्रोसेस लाइब्रेरी) यानी ए सर्वर-कम, स्व-निहित, शून्य-कॉन्फ़िगरेशन और लेनदेन । इसे कम मेमोरी वाले वातावरण में भी पोर्टेबिलिटी, विश्वसनीयता और मजबूत प्रदर्शन के लिए जाना जाता है। इसके अलावा, SQLite अन्य RDBMS, जहां क्लाइंट-सर्वर DB इंजन कॉन्फ़िगर किया गया है, के विपरीत, अंतिम कार्यक्रमों या अनुप्रयोगों में स्थानीय / ग्राहक भंडारण के लिए एम्बेडेड डेटाबेस के रूप में एक लोकप्रिय विकल्प है।



SQLite की सुविधाएँ

SQLite कई विशिष्ट विशेषताएं प्रदान करता है जैसे:

  • सर्वरहित: अधिकांश SQL डेटाबेस एक अलग सर्वर प्रक्रिया के रूप में कार्यान्वित किया जाता है, लेकिन SQLite में एक अलग सर्वर प्रक्रिया नहीं होती है। यह एक सर्वर रहित डेटाबेस इंजन है। यह साधारण डिस्क फ़ाइलों को सीधे पढ़ता और लिखता है।
  • शून्य-विन्यास: यहइसे चलाने के लिए किसी कॉन्फ़िगरेशन की आवश्यकता नहीं है। इसका मतलब है, कोई क्लाइंट प्रक्रिया नहीं है जिसे क्लाइंट / सर्वर सिस्टम में शुरू, बंद या कॉन्फ़िगर करने की आवश्यकता है।
  • मेनिफेस्ट टाइपिंग: SQLite मेनिफ़ेस्ट टाइपिंग का उपयोग करता है, जो बिना किसी कॉलम के घोषित डेटाटाइप के किसी भी कॉलम में किसी भी डेटा प्रकार की किसी भी राशि के भंडारण की अनुमति देता है। ध्यान दें कि इस नियम के कुछ अपवाद हैं।
  • हल्का: जैसे नाम का अर्थ है, SQLite पुस्तकालय बहुत हल्का है। बात यह है कि यद्यपि इसका उपयोग करने वाला स्थान उस सिस्टम के आधार पर भिन्न होता है जहां यह स्थापित है, यह 600KiB से कम स्थान ले सकता है।
  • पोर्टेबल: अन्य DBMS के विपरीत, एसंपूर्ण SQLite डेटाबेस एक फ़ाइल में संग्रहीत है।यह फ़ाइल हटाने योग्य मीडिया या फ़ाइल स्थानांतरण प्रोटोकॉल के माध्यम से बहुत आसानी से साझा की जा सकती है।
  • विविध विकल्प: कई प्रोग्रामिंग भाषाएं SQLite के लिए बाइंडिंग प्रदान करती हैं, जिसमें शामिल हैं , , सी # , , , माणिक , , और भी कई।
  • नि: शुल्क: SQLite स्वतंत्र और खुला स्रोत है। SQLite के साथ काम करने के लिए एक वाणिज्यिक लाइसेंस की आवश्यकता नहीं है।

जैसा कि SQLite के ऊपर सूचीबद्ध हैशून्य-कॉन्फ़िगरेशन के लिए जाना जाता है जिसका अर्थ है कि कोई जटिल सेटअप या प्रशासन वास्तव में आवश्यक नहीं है। इस SQLite ट्यूटोरियल के अगले भाग में, आइए देखें कि अपने सिस्टम पर SQLite कैसे स्थापित करें।

SQLite Tutorial: विंडोज पर SQLite स्थापित करना

अनुसरण करने के चरण इस प्रकार हैं:



स्टेप 1: के पास जाओ आधिकारिक SQLite वेबसाइट और डाउनलोड करने के लिए उपयुक्त लिंक पर क्लिक करेंप्रीक्लेम्ड बायनेरिज़।

चरण 2: SQLite कमांड लाइन ज़िप फ़ाइल डाउनलोड करें (यहाँ: साइक्लाइट-tools-win32-x86-3270200.zip) और अपनी पसंद के फ़ोल्डर में इन फ़ाइलों का विस्तार करें।

इस SQLite कमांड लाइन उपकरण में निम्न SQLite उत्पाद शामिल होंगे

  • SQLite कोर : SQLite कोर में वास्तविक डेटाबेस इंजन और सार्वजनिक एपीआई शामिल हैं।
  • SQLite3 कमांड-लाइन टूल : Sqlite3 एप्लिकेशन एक कमांड-लाइन टूल है जो SQLite कोर के शीर्ष पर बनाया गया है।
  • Tcl विस्तार : यह पुस्तकालय अनिवार्य रूप से टैक्ल बाइंडिंग से निपटने वाले SQLite कोर की एक प्रति है।
  • SQLite विश्लेषक उपकरण : SQLite विश्लेषक उपकरण का उपयोग डेटाबेस फ़ाइलों का विश्लेषण करने के लिए किया जाता है।

चरण 3: उसके बाद, SQLite कमांड लाइन को शुरू करना sqlite3 एप्लिकेशन पर क्लिक करने के रूप में सरल है, जो कमांड लाइन को पॉप अप करेगा।

यदि आप आगे परीक्षण करना चाहते हैं, तो बस टाइप करें ।मदद से आज्ञा साइक्लाइट> सभी उपलब्ध आदेशों को देखने के लिए संकेत दें sqlite3 जैसा नीचे दिखाया गया है।

ध्यान दें: डिफ़ॉल्ट रूप से, एक SQLite सत्र इन-मेमोरी डेटाबेस का उपयोग करता है, इसलिए, सत्र समाप्त होने पर सभी परिवर्तन चले जाएंगे।

काफी सरल है? फिर, चलो SQLite कमांड के साथ आरंभ करें।

SQLite ट्यूटोरियल: SQLite कमांड्स

SQLite ट्यूटोरियल का यह भाग मूल SQL स्टेटमेंट प्रस्तुत करता है जिसे आप SQLite के साथ उपयोग कर सकते हैं।

ध्यान दें: SQLite कमांड एक अर्ध-कोलन के साथ समाप्त होती है ()। यह SQLite को बताता है कि आपका कमांड पूरा हो गया है और उसे चलाया जाना चाहिए।इसके अलावा, आप अपनी कमांड को कई लाइनों में फैला सकते हैं और अंतिम लाइन पर सेमी-कोलोन का उपयोग कर सकते हैं।

डेटाबेस कमांड्स

इस खंड में वे कमांड होते हैं, जिनके द्वारा आप अपने डेटाबेस से निपट सकते हैं। आदेश हैं:

  • SQLite डेटाबेस बनाएँ

SQLite अन्य रिलेशनल डेटाबेस मैनेजमेंट सिस्टम, जैसे कि क्रिएट डेटा बेस स्टेटमेंट का उपयोग नहीं करता है माई एसक्यूएल , SQL सर्वर, आदि SQLite में एक नया डेटाबेस बनाने के लिए, बस sqlite3 दर्ज करें जिसे आप डेटाबेस के लिए उपयोग करना चाहते हैं उस फ़ाइल के नाम से। टीवह कोड के बाद एक डेटाबेस फ़ाइल बनाता है, जिसका नाम StudentDetails.db है:

उदाहरण

sqlite3 StudentDetails.db sqlite>। डेटाबेस मुख्य: D: sqliteStudentDadails.b
  • SQLite अटैच डाटाबेस

जब आपके पास कई डेटाबेस होते हैं, तो आप एक समय में केवल एक का उपयोग कर सकते हैं। SQLite में, ATTACH DATABASE स्टेटमेंट का उपयोग वर्तमान कनेक्शन के लिए एक विशेष डेटाबेस को संलग्न करने के लिए किया जाता है। एइस आदेश के बाद, सभी SQLite विवरण संलग्न डेटाबेस के तहत निष्पादित किए जाएंगे।

उदाहरण

sqlite> ATTACH DATABASE 'DepartmentDetails.db' AS 'विभाग' sqlite>। डेटाबेस मुख्य: D: sqliteStudentDetails.db विभाग: D: sqliteDepbox.etails.db
  • SQLite Detach Database

SQLite में, DETAT DATABASE स्टेटमेंट का उपयोग डेटाबेस कनेक्शन से उपनाम नाम डेटाबेस को अलग करने के लिए किया जाता है जिसे पहले ATTACH स्टेटमेंट का उपयोग करके संलग्न किया गया था। यदि एक ही डेटाबेस फ़ाइल को कई उपनामों के साथ जोड़ा गया है, तो यह कमांड केवल दिए गए नाम को डिस्कनेक्ट कर देगा और शेष अनुलग्नक अभी भी मौजूद रहेगा।इन-मेमोरी या अस्थायी डेटाबेस के डेटाबेस पूरी तरह से नष्ट हो जाएंगे और सामग्री खो जाएगी।

उदाहरण

sqlite> .dat डेटाबेस मुख्य: D: sqliteStudentDetails.db विभाग: D: sqliteDepboxDetails.db छात्र: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepartmentDetails.db sqlite> DETACH DATABASE विभाग 'वर्ग मीटर' विभाग 'वर्ग मीटर' विभाग है। छात्र: D: sqliteStudentDetails.db DeptInformation: D: sqliteDepboxDetails.b

टेबल कमांड्स

यहां हम सीखेंगे कि SQLite का उपयोग करते समय तालिकाओं के साथ कैसे व्यवहार करें।

  • SQL तालिका बनाएँ

SQLite में, एक नया टेबल बनाने के लिए CREATE TABLE स्टेटमेंट का उपयोग किया जाता है। तालिका बनाते समय, आपको तालिका को नाम देने और उसके स्तंभ और प्रत्येक स्तंभ के डेटा प्रकार को परिभाषित करने की आवश्यकता होती है।

वाक्य - विन्यास:

टेबल टेबल_नाम (कॉलम 1 कॉलम_टाइप [बाधाएं] कॉलम 2 कॉलम_टाइप [बाधा] [.....])

उदाहरण

रचनात्मक तालिका छात्र (आईडी इंट्री प्राइमरी कुंजी नॉट नॉट, नेम टेक्स्ट नॉट एनएलई, एज इंट नॉट न, एडवांस सीएचआर (50), डिपार्टमेंटल इंजीलर नाल, फोन टेक्स्ट डीफॉल्ट 'UNKNOWN', फॉरेन्ज फ्लैग)

आप यह जाँच कर सकते हैं कि तालिका का उपयोग करके बनाया गया था या नहीं .tables जैसा कि नीचे दिखाया गया है। ध्यान दें कि मैंने पहले ही एक तालिका बना ली है विभाग जहां DeptID प्राथमिक कुंजी है।डिपार्टमेंट्स टेबल में स्टूडेंट्स टेबल के लिए एक विदेशी कुंजी है।

sqlite> .tables StudentInfo संपर्क Emp_Master
  • SQLite ड्रॉप टेबल

SQLite में, DROP टेबल स्टेटमेंट आपको SQLite डेटाबेस से एक टेबल को हटाने या हटाने की अनुमति देता है। एक बार तालिका गिरा देने के बाद, इसमें मौजूद सभी डेटा को डेटाबेस से स्थायी रूप से हटा दिया जाता है। किसी भी संबद्ध सूचकांक और ट्रिगर को भी हटा दिया जाता है। यदि उस तालिका पर कोई विदेशी कुंजी बाधा सक्षम है, तो वह तालिका में प्रत्येक पंक्ति के लिए समान रूप से हटा देगा और तालिका से जुड़े किसी भी ट्रिगर को भी हटा दिया जाएगा।

वाक्य - विन्यास

ड्रॉप टेबल [IF EXISTS] table_name

उदाहरण

DROP TABLE विभाग त्रुटि: ऐसी कोई तालिका नहीं: विभाग DROP TABLE Company sqlite> .tables StudentInfo

ध्यान दें: IF EXISTS, एक वैकल्पिक क्लॉज है। यदि निर्दिष्ट किया गया है, तो DROP टेबल स्टेटमेंट में त्रुटि नहीं आएगी यदि तालिकाओं में से एक मौजूद नहीं है।

इसके अलावा, वहाँ एक है SQLite Alter Table स्टेटमेंट , कि हम इस लेख के अगले कुछ खंडों में समझेंगे। अब जब हमने एक तालिका बना ली है, तो डेटा को सम्मिलित करने, हटाने और बदलने का तरीका देखें।

SQLite ट्यूटोरियल: CRUD ऑपरेशन

  • SQLite डालें क्वेरी

तालिका बनाने के बाद, निर्दिष्ट तालिका में नई पंक्तियाँ बनाने के लिए SQLite इन्सर्ट कमांड का उपयोग किया जा सकता है। SQLite डालने के बयान के दो सार्थक रूप हैं। सम्मिलित करने के लिए मूल्यों की सूची निर्दिष्ट करने के लिए पहला फ़ॉर्म VALUES खंड का उपयोग करता है।

वाक्य - विन्यास

INSERT INTO TABLE_NAME [(column1, column2, column3, ... columnN)] मूल्य (मान 1, मान 2, मान 3, ... मान)

उदाहरण

INSERT INTO StudentInfo (ID, NAME, AGE, ADDRESS, DEPARTMENTID, PHONE) VALUES (1, 'डीन', 20, 'कैलिफोर्निया', 2, '934 *******')

आउटपुट

स्टूडेंटइन्फो आईडी NAME AGE ADDESSMENTIDID PHONE ---------- ---------- -------------------------- से * सेलेक्ट करें ---------- ---------- १ डीन २० कैलिफोर्निया २ ९ ३४ *******

यहां, एक एकल नई पंक्ति बनाई गई है और प्रत्येक मूल्य अपने संबंधित कॉलम में दर्ज किया गया है। ध्यान दें कि दोनों सूचियों में होना चाहिए वही वस्तुओ की संख्या। यहां ही स्तंभों की सूची वैकल्पिक है। हम तालिका में डेटा भी डाल सकते हैं कॉलम की सूची को निर्दिष्ट किए बिना

उदाहरण

INSERT INTO StudentInfo VALUES (2, 'एसएएम', 22, 'टेक्सास', 2, '976:46')

आउटपुट

स्टूडेंटइन्फो आईडी NAME AGE ADDESSMENTIDID PHONE ---------- ---------- -------------------------- से * सेलेक्ट करें ---------- ---------- १ डीन २० कैलिफ़ोर्निया २ ९ ३४ ******* २ एसएएम २२ टेक्सास २ ९ **६ *******

SQLite भी एक सुविधा प्रदान करता है कई पंक्तियाँ डालें एक INSERT स्टेटमेंट में। सिंटैक्स नीचे दिखाया गया है।

उदाहरण

INSERT INTO StudentInfo VALUES (3, 'जॉन', 23, 'नॉर्वे', 1, '923 *******'), (4, 'मिच', 22, 'ह्यूस्टन', 3, '934 ** ***** ')

आउटपुट

स्टूडेंटइन्फो 1 से डीन का चयन करें। डीन | 20 | कैलिफोर्निया | 2 | 934 ******* 2 | SAM | 22 | 22 | 2 | 976 ******* 3 | जॉन | 23 | नॉर्वे | 1 | 923 ******* 4 | मिच | 22 | ह्यूस्टन | 3 | 934 *******

जैसा कि आप देख सकते हैं, आउटपुट का प्रारूप पहले वाले के समान नहीं है। तो, आप SQLite में आउटपुट के प्रारूप को कैसे बदलते हैं? आउटपुट को प्रारूपित करें ताकि हमारे परिणाम पढ़ने में थोड़ा आसान हो।

  • गठन करना

आउटपुट मोड को बदलने के लिए आप .mode का उपयोग कर सकते हैं। उपरोक्त उदाहरण का उपयोग करता है .मोड सूची, जो सूची के रूप में परिणाम प्रदर्शित करती है। इसके अलावा, आप उपयोग कर सकते हैं .headers यह निर्दिष्ट करने के लिए कि कॉलम हेडर प्रदर्शित करना है या नहीं। एक बार जब आप परिवर्तन कर लेते हैं, तो आप सेटिंग का उपयोग करके देख सकते हैं ।प्रदर्शन आज्ञा।

उदाहरण

sqlite> .mode 'कॉलम' sqlite> .headers on sqlite> .show echo: off eqp: off व्याख्या: ऑटो हेडर: ऑन मोड: कॉलम nullvalue: '' output: stdl colseparator: '' | ' rowseparator: 'n' आँकड़े: बंद चौड़ाई: फ़ाइल नाम: StudentDetails.db

आउटपुट

स्टूडेंटइन्फो आईडी से एनईई अग्री डिप्रेसमेंट फोन का चयन करें ---------- ---------- -------------------------- ---------- ---------- १ डीन २० कैलिफोर्निया २ ९ ३४ ******* २ एसएएम २२ टेक्सास २ ९ **६ ******* ३ जॉन २३ नॉर्वे 1 923 ******* 4 मिच 22 ह्यूस्टन 3 934 *******
  • SQLite चयन क्वेरी

SQLite में, चयन कथन का उपयोग किया जाता हैतालिका से डेटा प्राप्त करने के लिए, जो परिणाम तालिका के रूप में डेटा लौटाता है। इन परिणाम तालिकाओं को परिणाम भी कहा जाता है सेट करता है। SQLite चयन कथन का उपयोग करके हम अपनी आवश्यकताओं के आधार पर सरल गणना या कई अभिव्यक्तियाँ कर सकते हैं।जब हमने डेटा डाला था, तो हमने पहले से ही एक सेलेक्ट स्टेटमेंट का उपयोग किया है।

वाक्य - विन्यास

चयन करें [ALL | DISTINCT] परिणाम [टेबल-सूची से] [WHERE expr]
  • DISTINCT - जब हम किसी चुनिंदा स्टेटमेंट में अलग कीवर्ड का उपयोग करते हैं तो यह डेटा की केवल अलग-अलग पंक्तियों को वापस करता है।
  • सब - यदि हम किसी चयनित कथन में सभी कीवर्ड का उपयोग करते हैं तो यह डुप्लिकेट होने पर भी डेटा की सभी पंक्तियों को लौटाता है।
  • तालिका-सूची से - यह उन तालिकाओं की एक सूची है जिनसे आप डेटा प्राप्त करना चाहते हैं।
  • जहां अभिव्यक्ति है - टेबल से आवश्यक डेटा प्राप्त करने के लिए हमारी कस्टम स्थितियों को परिभाषित करने के लिए WHERE अभिव्यक्ति का उपयोग किया जाता है।

उदाहरण 1

आइडी, स्टूडेंटइन्फो से नाम चुनें<21

आउटपुट

ID NAME ---------- ---------- 1 डीन

उदाहरण 2

छात्र में से NAME का चयन करें, जहां विभाग = (विभाग से चयन विभाग से) = 'मनोविज्ञान'

आउटपुट

// ऐसे लोगों को विभाग से लाया जाता है जिनकी आईडी 2 NAME है ---------- डीन सैम
  • SQLite अद्यतन क्वेरी

SQLite में, अद्यतन को एक तालिका में मौजूदा रिकॉर्ड को संशोधित करने के लिए इस्तेमाल किया जा सकता है।जहां पंक्तियों को अद्यतन किया जाना चाहिए, यह निर्दिष्ट करने के लिए SQLite के क्लॉज का उपयोग किया जा सकता है। WHERE क्लॉज द्वारा लागू की गई फ़िल्टरिंग स्थितियों के आधार पर आप आसानी से सभी पंक्तियों, कुछ पंक्तियों या किसी को भी अपडेट नहीं कर सकते।

वाक्य - विन्यास

अद्यतन तालिका_नाम सेट कॉलम 1 = मान 1, कॉलम 2 = मान 2 ...., कॉलमएन = मान एनएचईआर [स्थिति]

उदाहरण

अद्यतन छात्र इन डीपार्टमेंट = 4 व्हाट्सएप आईडी = '2' सेट करें

आउटपुट

स्टूडेंटइन्फो ID NAME AGE ADDESSMENTIDID PHONE ---------- ---------- ---------- ---------- ------------ ---------- १ डीन २० कैलिफोर्निया २ ९ ३४ ******* २ एसएएम २२ टेक्सास ४ ९ 3६ ******* ३ जॉन 23 नॉर्वे 1 923 ******* 4 मिच 22 ह्यूस्टन 3 934 *******
  • SQLite डिलीट क्वेरी

SQLite में, तालिका से रिकॉर्ड को हटाने के लिए DELETE कथन का उपयोग किया जा सकता है। WHERE क्लॉज द्वारा लागू की गई फ़िल्टरिंग स्थितियों के आधार पर आप आसानी से सभी पंक्तियों, कुछ पंक्तियों, या किसी को भी हटा सकते हैं।

उदाहरण

विभाग से DELETE कहां तक ​​विभाग = 'विज्ञान'

आउटपुट

विभाग से चयन करें * विभाग विभाग विभाग ---------- ----------- 1 गणित 2 मनोविज्ञान 3 खेल 4 संगीत

यदि आप किसी विदेशी कुंजी द्वारा संदर्भित रिकॉर्ड को हटाने का प्रयास करते हैं, तो आपको एक त्रुटि मिलेगी। प्राथमिक कुंजी रिकॉर्ड को हटाने से पहले आपको पहले विदेशी कुंजी रिकॉर्ड को हटाना होगा। आइए, विभाग के विज्ञान को हटाने का प्रयास करें।

उदाहरण

DELETE FROM DepartmentInfo WHERE DeptName = 'संगीत' त्रुटि: विदेश कुंजी बाधा विफल

इसलिए, प्राथमिक कुंजी को हटाने से पहले हमें विदेशी कुंजी रिकॉर्ड को हटाना होगा।

झांकी में एक पैरामीटर बनाएँ
स्टूडेंटइन्फो से DELETE FROM DEPARTMENTID = 4 sqlite> DELETE FROM DepartmentInfo WHERE DeptName = 'Music' sqlite> Select * FROM DepartmentInfo Deptid Deptidame ---------- ----------- 1 गणित 2 मनोविज्ञान 3 स्पोर्ट्स सिलेक्ट * स्टूडेंटइन्फो से इसका नाम NAME AGE ADDESSMENTIDID PHONE ---------- ---------- ---------- ------- --- ------------ ---------- १ डीन २० कैलिफोर्निया २ ९ ३४ ******* ३ जॉन २३ नॉर्वे १ ९२३ ****** * 4 मिच 22 ह्यूस्टन 3 934 *******

अब आप जानते हैं कि SQLite डेटाबेस तालिका में रिकॉर्ड्स को कैसे संपादित किया जाए। इस SQLite ट्यूटोरियल ब्लॉग में और आगे बढ़ते हुए, विभिन्न क्लॉस और शर्तों पर चर्चा करें जो आप SQLite में सबसे अधिक बार आते हैं।

SQLite क्लाज / शर्तें

क्लॉस के साथ शुरुआत करने से पहले, यहाँ SQLite में SELECT स्टेटमेंट का पूरा सिंटैक्स है।

वाक्य - विन्यास

चयन करें [ALL | DISTINCT] परिणाम [FROM मेज़-सूची] [WHERE expr] [GROUP BY expr-list] [HAVING expr] [कंपाउंड-ऑप सेलेक्ट] * [ORDER BY सॉर्ट-एक्सप-लिस्ट] [लिगिट एगर] (OFFSET |) पूर्णांक ]]

नोट: मैंने स्टूडेंटइन्फो और डिपार्टमेंटइन्फो टेबल को अपडेट किया है जैसा कि नीचे दिखाया गया है।

// स्टूडेंट टेबल आईडी NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- ---------- ------------ ---------- १ डीन २० कैलिफ़ोर्निया २ ९ ३४ ******* ३ जॉन २३ नॉर्वे १ ९ २३ ******* ४ मिच 22 ह्यूस्टन 3 934 ******* 2 एसएएम 22 टेक्सास 4 976 ******* 5 जॉनी 23 नॉर्वे 2 945 ******* 6 रॉबिन 23 नॉर्वे 2 UNKNOWN // विभाग विवरण विभाग विभाग - --------- ----------- 1 गणित 2 मनोविज्ञान 3 खेल 4 संगीत 5 विज्ञान
  • SQLite कहाँ है

SQLite में, WHERE क्लॉज का उपयोग डेटाबेस में तालिकाओं से आवश्यक डेटा प्राप्त करने के लिए एक या अधिक शर्तों को परिभाषित करके SELECT स्टेटमेंट पर प्रतिबंध लगाने के लिए किया जाता है।यदि यह शर्त संतुष्ट या सही है, तो यह तालिका से विशिष्ट मूल्य लौटाता है। जैसा आपने पहले देखा है कि WHERE क्लॉज का उपयोग न केवल सेलेक्ट स्टेटमेंट में किया जाता है, बल्कि इसका उपयोग UPDATE, DELETE स्टेटमेंट आदि में भी किया जाता है।

उदाहरण

StudentInfo से NAME का चयन करें जहां AGE = 23NAME ---------- जॉन जॉनी रॉबिन

SQLite में, कई रिलेशनल ऑपरेटर हैं जिनका उपयोग WHERE क्लॉज के साथ किया जा सकता है।

  • SQLite ग्रुप द्वारा

SQLite में, GROUP BY क्लॉज का उपयोग डेटा को एक एकल पंक्ति में एकत्रित करने के लिए किया जाता है जहां एक या अधिक निर्दिष्ट स्तंभों का मान दोहराया जाता है। इस खंड का उपयोग सेलेक्ट स्टेटमेंट में WHERE क्लॉज के साथ किया जाता है और ORDER BY क्लॉज से पहले होता है।

वाक्य - विन्यास

[तालिका-सूची] समूह से परिणाम का चयन करें [अभियान-सूची]
नाम का चयन करें, NAME NAME ADDRESS ---------- ---------- डीन कैलिफोर्निया जॉन जॉन जॉनी नॉर्वे मिच ह्यूस्टन रॉबिन नॉर्वे सैम टेक्सास

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

  • SQLite आदेश द्वारा

आमतौर पर, SQLite टेबल डेटा को अनिर्दिष्ट क्रम में संग्रहीत करता है और यह SQLite चयन कथन का उपयोग करते हुए डेटा प्राप्त करते हुए उसी अनिर्दिष्ट क्रम में रिकॉर्ड लौटाएगा। ऐसे मामलों में, आप ORDER BY क्लॉज का उपयोग स्तंभ रिकॉर्ड को आरोही या अवरोही क्रम में सॉर्ट करने के लिए किया जाता है। नीचे दिए गए उदाहरण में, मैंने पता के आधार पर डेटा को समूहीकृत और क्रमबद्ध किया है।

वाक्य - विन्यास

तालिका-सूची [WHERE की शर्तें] ORDER BY कॉलम 1, column2, से कुछ सही अभिव्यक्तियाँ ... [ASC | DESC]

उदाहरण

ADDRESS, COUNT (ADDRESS) से छात्र इनफोर्स ग्रुप से ADDRESS DESD ADDRESS COUNT (ADDRESS) द्वारा ---------- -------------- टेक्सास 1 नॉर्वे 3 ह्यूस्टन 1 कैलिफोर्निया 1
  • द्वारा SQLite हिटिंग

SQLite में, हवलदार खंड के समान है कहां है खंड। समूह के साथ चुनिंदा कथन द्वारा एकत्र होने के बाद HAVING क्लॉज एक और शर्त है। आम तौर पर SQLite में, कहां है खंड का उपयोग किसी तालिका में व्यक्तिगत तत्वों के लिए एक शर्त लागू करने के लिए किया जाता है और हवलदार क्लॉज का उपयोग ग्रुप बाय क्लॉज द्वारा बनाए गए समूहों के आधार पर फिल्टर स्थितियों को जोड़ने के लिए किया जाता है।

उदाहरण

ADDRESS का चयन करें, COUNT (ADDRESS) छात्र से ग्रुप बनाकर ADDRESS HAVING COUNT (*)> 1 ADDRESS COUNT (ADDRESS) ---------- -------------- नॉर्वे 3
  • SQLite सीमा खंड

SQLite में, LIMIT क्लॉज का उपयोग चुनिंदा स्टेटमेंट द्वारा दिए गए रिकॉर्ड की सीमा निर्धारित करने के लिए किया जाता है। आइए अवधारणा को समझने के लिए एक उदाहरण पर विचार करें।

वाक्य - विन्यास

तालिकाओं से सूची का चयन करें [जहां शर्तें] लिमट संख्या_फॉर्स ऑफसेट ऑफसेट_व्यू

उदाहरण

NAME का चयन करें, छात्र से ADDRESS से पहले 4 OFFSET 2 नाम का पता लगाएं ---------- ---------- मिच ह्यूस्टन सैम टेक्सास जॉनी नॉर्वे रॉबिन नॉर्वे

OFFSETवैकल्पिक है और यह निर्धारित करता है कि परिणाम के आधार पर शुरुआत में कितनी पंक्तियों को छोड़ना है ऑफसेट_वायु

  • SQLite और या

SQLite में, AND और OR का उपयोग हमारी आवश्यकताओं के आधार पर चयन, सम्मिलित, अद्यतन और हटाने के लिए कई शर्तों को पूरा करने के लिए किया जाता है। SQLite और ऑपरेटर पंक्तियों या अभिलेखों को लौटाएगा जो AND ऑपरेटर द्वारा उपयोग की गई शर्तों को पूरा करते हैं।

उदाहरण 1

StudentInfo से NAME का चयन करें जहां पर = 22 और ADDRESS = 'Texas' का नाम ---------- SAM है

या हालत का उपयोग SQLite स्टेटमेंट में कई स्थितियों को परिभाषित करने के लिए किया जाता है और यह किसी एक शर्त के संतुष्ट होने पर बयान से पंक्तियाँ या रिकॉर्ड लौटाएगा।

उदाहरण 2

स्टूडेंटइन्फो से सेलेक्ट नेम (एजीई = 22 एंड एड्रैस = 'नॉर्वे') या एड्रैस = 'नॉर्वे' नाम ---------- जॉन जॉनी रॉबिन
  • SQLite GLOB ऑपरेटर

SQLite में, GLOB ऑपरेटर का उपयोग यह जांचने के लिए किया जाता है कि दिए गए स्ट्रिंग मान किसी विशिष्ट पैटर्न से मेल खाते हैं या नहीं। यदि स्ट्रिंग मान पैटर्न मान के साथ मेल खाता है तो यह वापस आ जाएगा सच और यह LIKE ऑपरेटर के समान है। इसके अलावा, GLOB है अक्षर संवेदनशील।

वाक्य - विन्यास

तालिका से चुनें * जहां से कॉलम_नाम GLOB 'खोज-अभिव्यक्ति' है

उदाहरण

स्टूडेंटइन्फो से सेलेक्ट करें * .जहाँ किसी का नाम GLOB 'जॉह *' ID NAME AGE ADDRESS DEPARTMENTID PHONE ---------- ---------- ---------- --- ------- ------------ ---------- 3 जॉन 23 नॉर्वे 1 923 ******* 5 जॉनी 23 नॉर्वे 2 945 ** *****
  • SQLite भेद

SQLite में, DISTINCT कीवर्ड SELECT स्टेटमेंट के परिणाम सेट को स्कैन करेगा और किसी भी डुप्लिकेट पंक्तियों को समाप्त कर देगा। इसके अलावा, NULL मान डुप्लिकेट के रूप में विचार करते हैं इसलिए यदि हम DISTINCT क्लॉज का उपयोग उस कॉलम के साथ करते हैं जिसमें NULL मान हैं तो यह NULL मान की केवल एक पंक्ति रखेगा। जब आप कई स्तंभों के लिए DISTINCT लागू करते हैं, तो कथन प्रत्येक अद्वितीय संयोजन देता है coulnm1 तथा कॉलम २।

उदाहरण

स्टूडेंटइन्फो एजीई से चुनिए DISTINCT AGE ---------- 20 23 22
  • ऑपरेटर में SQLite

SQLite में, IN ऑपरेटर का उपयोग यह निर्धारित करने के लिए किया जाता है कि दिए गए मान दिए गए मानों की सूची से मेल खाते हैं या उपनगर द्वारा लौटाए गए परिणाम।

उदाहरण

StudentInfo से NAME का चयन करें, जहां ('टेक्सास', 'ह्यूस्टन') NAME ---------- मिच सैम
  • SQLite यूनिअन और यूनिअन सभी

SQLite में, UNION ऑपरेटर के परिणाम सेट को संयोजित करने के लिए उपयोग किया जाता है या अधिक सेलेक्ट स्टेटमेंट और यह विभिन्न सेलेक्ट स्टेटमेंट के बीच डुप्लिकेट पंक्तियों को हटा देता है। याद रखें कि जो चयन स्टेटमेंट हमने UNION ऑपरेटर के साथ उपयोग किए थे, उनके परिणाम सेट में समान डेटा फ़ील्ड के समान फ़ील्ड होने चाहिए।

वाक्य - विन्यास

सारणी 1, अभिव्यक्ति 2, ... अभिव्यक्ति_n तालिकाओं से चुनें [कहां स्थितियां] यूनिअन / यूनिअन सभी का चयन अभिव्यक्ति 1, अभिव्यक्ति 2, ... अभिव्यक्ति_n तालिकाओं से [WHERE की शर्तें]

उदाहरण

स्टूडेंटइन्फो से सेलेक्ट डिपॉजिटिड सेलेक्ट करें डिपार्टमेंट से इनफो डिराइड करें और डिपार्टमेंट से ASD डीपार्टिड - 1 2 3 4 5

UNION सभी ऑपरेटर का उपयोग 2 या अधिक सेलेक्ट स्टेटमेंट के परिणाम सेटों को संयोजित करने के लिए किया जाता है और यह डुप्लिकेट सहित सभी पंक्तियों को वापस कर देगा।

उदाहरण

स्टूडेंटइन्फो से सेलेक्ट डिपॉजिटिड यूनिअन सेलेक्ट डिपार्टमेंड इनफॉर्म्ड डिपार्टमेंट से इनऑर्डर और डिपार्टिमेंट ASC डिपार्टमेंट ------------ 1 1 2 2 2 3 3 4 4

इसके साथ, हमने सबसे बुनियादी कमांड्स को कवर किया है जो कि आपको SQLite के साथ काम करते समय उपयोग करना पड़ सकता है। इस SQLite ट्यूटोरियल के साथ आगे बढ़ते हुए, SQLite में ज्वाइन स्टेटमेंट की जाँच करें।

SQLite में शामिल होता है

SQLite में, Joins हैंएक डेटाबेस में दो या अधिक तालिकाओं से रिकॉर्ड को संयोजित करने और हमारी आवश्यकताओं के आधार पर रिकॉर्ड प्राप्त करने के लिए उपयोग किया जाता है। डीयदि SQLite में उपलब्ध JOINS के निम्न प्रकार हैं:

  • आंतरिक रूप से जुड़ा -INNER JOIN का उपयोग SQLite स्टेटमेंट्स में परिभाषित स्थितियों के आधार पर मल्टीप्ल टेबल से केवल मिलान रिकॉर्ड्स को मिलाने और वापस करने के लिए किया जाता है।
  • बाहरी सम्मिलित हों -SQLite Outer Join से कई तालिकाओं से मेल खाती पंक्तियों का चयन किया जाएगा आंतरिक रूप से जुड़ा और रिश्ते के बाहर कुछ अन्य पंक्तियाँ।सरल शब्दों में, हम SQLite कह सकते हैंउमर जोइनका एक जोड़ हैआंतरिक रूप से जुड़ा आमतौर पर, हमारे पास SQL ​​मानक में तीन प्रकार के Outer Joins हैं जो LEFT, RIGHT और FULL Outer Joins हैं, लेकिन SQLite केवल LEFT OUTER JOIN का समर्थन करता है।
  • क्रॉस जॉइन करें -इसका उपयोग पंक्तियों के कार्टेशियन उत्पाद प्राप्त करने के लिए किया जाता हैपहली तालिका की प्रत्येक पंक्ति का मिलान दूसरी तालिका की प्रत्येक पंक्ति के साथ करें।
  • स्वयं सम्मिलित हों - यहखुद के साथ एक ही तालिका में शामिल होने के लिए उपयोग किया जाता है। Self Join का उपयोग करने के लिए हमें अपनी आवश्यकताओं के आधार पर संचालन करने के लिए एक ही तालिका के लिए अलग-अलग उपनाम बनाने की आवश्यकता है।

अवधारणा SQL जैसे अन्य रिलेशनल डेटाबेस सिस्टम के समान है। तो, अधिक जानने के लिए आप इस लेख को देख सकते हैं ।

इसके साथ, हमने मूल SQLite कमांड्स को कवर किया है। उन्नत अवधारणाओं को यहां कवर नहीं किया गया है। इसलिए, उन्नत SQLite अवधारणाओं पर एक अन्य लेख के लिए बने रहें। यहां तक ​​कि उन सभी अच्छे फीचर्स के साथ, जो कि SQLite को पेश करना है, इसके कुछ नुकसान भी हैं।

SQLite ट्यूटोरियल: SQLite के नुकसान

नीचे सूचीबद्ध SQLite का उपयोग करने के अवगुण हैं:

  • यह क्लाइंट / सर्वर आर्किटेक्चर में अच्छी तरह से काम नहीं करता है।
  • एक SQLite डेटाबेस का आकार ज्यादातर मामलों में 2GB तक सीमित है।
  • SQLite ने RIGHT OUTER JOIN और FULL OUTER JOIN को लागू नहीं किया है। SQLite के साथ, हम केवल LEFT OUTER JOIN लागू कर सकते हैं।
  • SQLite में दृश्य केवल-पढ़ने के लिए हैं। हम दृश्य के साथ DML स्टेटमेंट (इन्सर्ट, अपडेट और डिलीट) का उपयोग नहीं कर सकते हैं।
  • हम SQLite के साथ GRANT और REVOKE कथनों का उपयोग नहीं कर सकते।

इसके साथ, हम इस SQLite ट्यूटोरियल के अंत में आते हैं।

यदि आप और अधिक जानने की इच्छा रखते हैं माई एसक्यूएल और इस ओपन-सोर्स रिलेशनल डेटाबेस का पता करें, फिर हमारी जाँच करें जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक जीवन की परियोजना के अनुभव के साथ आता है। यह प्रशिक्षण आपको MySQL को गहराई से समझने में मदद करेगा और आपको इस विषय पर महारत हासिल करने में मदद करेगा।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस SQLite ट्यूटोरियल के टिप्पणी अनुभाग में इसका उल्लेख करें और मैं आपको वापस मिल जाएगा।