SQLite ट्यूटोरियल
- SQLite ट्यूटोरियल: शुरुआती गाइड
SQLite एक शक्तिशाली, आत्मनिर्भर, सर्वरलेस, शून्य-कॉन्फ़िगरेशन, ट्रांज़ैक्शनल डेटाबेस इंजन है। यह एक फ़ाइल सिस्टम पर एक ही फ़ाइल में पूरी तरह से डेटाबेस को स्टोर करता है। यह इसे छोटे से मध्यम आकार के डेटासेट के लिए आदर्श बनाता है जहाँ सर्वर की जटिलता की आवश्यकता नहीं होती है। यह लेख शुरुआती लोगों के लिए SQLite का एक व्यापक परिचय है, जो मूल अवधारणाओं से लेकर अधिक उन्नत तकनीकों तक सब कुछ कवर करता है।
SQLite क्या है?
SQLite एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है, लेकिन यह पारंपरिक RDBMS से कुछ महत्वपूर्ण तरीकों से भिन्न है। सबसे महत्वपूर्ण अंतर यह है कि SQLite को एक अलग सर्वर प्रक्रिया के रूप में चलाने की आवश्यकता नहीं होती है। इसके बजाय, यह सीधे एप्लिकेशन में एम्बेड किया जाता है, और डेटाबेस फ़ाइल सीधे एप्लिकेशन द्वारा एक्सेस की जाती है।
SQLite के कुछ मुख्य लाभ इस प्रकार हैं:
- **सर्वरलेस:** किसी सर्वर प्रक्रिया की आवश्यकता नहीं है।
- **शून्य-कॉन्फ़िगरेशन:** स्थापित करने या कॉन्फ़िगर करने की आवश्यकता नहीं है।
- **आत्मनिर्भर:** किसी बाहरी निर्भरता की आवश्यकता नहीं है।
- **पोर्टेबल:** डेटाबेस फ़ाइल को किसी भी प्लेटफ़ॉर्म पर कॉपी किया जा सकता है।
- **ट्रांज़ैक्शनल:** ट्रांज़ैक्शन के साथ डेटा अखंडता सुनिश्चित करता है।
- **पूर्ण-विशेषीकृत:** SQL-92 मानक का समर्थन करता है।
SQLite का उपयोग कब करें?
SQLite विभिन्न प्रकार के अनुप्रयोगों के लिए उपयुक्त है, जिनमें शामिल हैं:
- **मोबाइल एप्लिकेशन:** Android और iOS एप्लिकेशन में डेटा को स्थानीय रूप से स्टोर करने के लिए।
- **डेस्कटॉप एप्लिकेशन:** छोटे से मध्यम आकार के डेटासेट के लिए।
- **एम्बेडेड सिस्टम:** उपकरणों में डेटा स्टोर करने के लिए जहां संसाधन सीमित हैं।
- **वेब एप्लिकेशन:** कम ट्रैफ़िक वाली वेबसाइटों के लिए या डेटा को स्थानीय रूप से कैश करने के लिए।
- **परीक्षण और विकास:** डेटाबेस स्कीमा और डेटा के साथ प्रयोग करने के लिए।
SQLite स्थापित करना
SQLite को स्थापित करने की आवश्यकता नहीं है, क्योंकि यह एक लाइब्रेरी है जिसे आपके एप्लिकेशन में एम्बेड किया जाता है। हालांकि, आपको SQLite कमांड-लाइन इंटरफ़ेस (CLI) स्थापित करने की आवश्यकता हो सकती है, जिसका उपयोग डेटाबेस बनाने, क्वेरी करने और प्रबंधित करने के लिए किया जाता है।
- **विंडोज:** आप SQLite वेबसाइट ([1](https://www.sqlite.org/download.html)) से प्री-कंपाइल्ड बाइनरी डाउनलोड कर सकते हैं।
- **मैकओएस:** आप होमब्रू ([2](https://brew.sh/)) का उपयोग करके SQLite स्थापित कर सकते हैं: `brew install sqlite3`
- **लिनक्स:** आपके वितरण के पैकेज मैनेजर का उपयोग करके SQLite स्थापित करें। उदाहरण के लिए, डेबियन/उबंटू पर: `sudo apt-get install sqlite3`
SQLite CLI का उपयोग करना
SQLite CLI एक कमांड-लाइन टूल है जिसका उपयोग SQLite डेटाबेस के साथ इंटरैक्ट करने के लिए किया जाता है। यहां कुछ बुनियादी कमांड दिए गए हैं:
- `sqlite3 database_name.db`: एक नया डेटाबेस फ़ाइल बनाता है या मौजूदा फ़ाइल खोलता है।
- `.help`: उपलब्ध कमांड की सूची प्रदर्शित करता है।
- `.tables`: डेटाबेस में सभी तालिकाओं की सूची प्रदर्शित करता है।
- `.schema table_name`: तालिका की स्कीमा प्रदर्शित करता है (तालिका परिभाषा)।
- `.exit`: SQLite CLI से बाहर निकलता है।
डेटाबेस बनाना
SQLite CLI का उपयोग करके एक नया डेटाबेस बनाने के लिए, निम्न कमांड चलाएं:
``` sqlite3 mydatabase.db ```
यह `mydatabase.db` नामक एक नई फ़ाइल बनाएगा। यदि फ़ाइल पहले से मौजूद है, तो यह खुल जाएगी।
तालिका बनाना
एक तालिका बनाने के लिए, `CREATE TABLE` स्टेटमेंट का उपयोग करें। उदाहरण के लिए, निम्न स्टेटमेंट `employees` नामक एक तालिका बनाता है जिसमें तीन कॉलम हैं: `id`, `name`, और `salary`:
```sql CREATE TABLE employees (
id INTEGER PRIMARY KEY, name TEXT, salary REAL
); ```
- `id`: कर्मचारी की आईडी। `INTEGER PRIMARY KEY` का मतलब है कि यह कॉलम एक पूर्णांक है और तालिका में प्रत्येक पंक्ति के लिए अद्वितीय है।
- `name`: कर्मचारी का नाम। `TEXT` का मतलब है कि यह कॉलम एक टेक्स्ट स्ट्रिंग है।
- `salary`: कर्मचारी का वेतन। `REAL` का मतलब है कि यह कॉलम एक फ्लोटिंग-पॉइंट नंबर है।
डेटा डालना
तालिका में डेटा डालने के लिए, `INSERT INTO` स्टेटमेंट का उपयोग करें। उदाहरण के लिए, निम्न स्टेटमेंट `employees` तालिका में एक नई पंक्ति डालता है:
```sql INSERT INTO employees (name, salary) VALUES ('John Doe', 50000.0); ```
डेटा क्वेरी करना
तालिका से डेटा क्वेरी करने के लिए, `SELECT` स्टेटमेंट का उपयोग करें। उदाहरण के लिए, निम्न स्टेटमेंट `employees` तालिका से सभी कॉलम और सभी पंक्तियों का चयन करता है:
```sql SELECT * FROM employees; ```
आप `WHERE` क्लॉज का उपयोग करके क्वेरी को फ़िल्टर कर सकते हैं। उदाहरण के लिए, निम्न स्टेटमेंट `employees` तालिका से उन सभी कर्मचारियों का चयन करता है जिनका वेतन 60000.0 से अधिक है:
```sql SELECT * FROM employees WHERE salary > 60000.0; ```
डेटा अपडेट करना
तालिका में डेटा अपडेट करने के लिए, `UPDATE` स्टेटमेंट का उपयोग करें। उदाहरण के लिए, निम्न स्टेटमेंट `employees` तालिका में `id` 1 वाले कर्मचारी का वेतन 60000.0 में अपडेट करता है:
```sql UPDATE employees SET salary = 60000.0 WHERE id = 1; ```
डेटा हटाना
तालिका से डेटा हटाने के लिए, `DELETE` स्टेटमेंट का उपयोग करें। उदाहरण के लिए, निम्न स्टेटमेंट `employees` तालिका से `id` 1 वाले कर्मचारी को हटाता है:
```sql DELETE FROM employees WHERE id = 1; ```
डेटा प्रकार
SQLite में निम्नलिखित डेटा प्रकार समर्थित हैं:
- **NULL:** एक खाली मान।
- **INTEGER:** एक पूर्णांक।
- **REAL:** एक फ्लोटिंग-पॉइंट नंबर।
- **TEXT:** एक टेक्स्ट स्ट्रिंग।
- **BLOB:** बाइनरी डेटा।
ट्रांज़ैक्शन
ट्रांज़ैक्शन डेटाबेस संचालन का एक समूह है जिसे एक एकल इकाई के रूप में माना जाता है। यदि ट्रांज़ैक्शन में कोई भी ऑपरेशन विफल हो जाता है, तो सभी ऑपरेशन रोलबैक हो जाते हैं, जिससे डेटाबेस की स्थिरता सुनिश्चित होती है।
SQLite में ट्रांज़ैक्शन शुरू करने के लिए, `BEGIN TRANSACTION` स्टेटमेंट का उपयोग करें। ट्रांज़ैक्शन को कमिट करने के लिए, `COMMIT` स्टेटमेंट का उपयोग करें। ट्रांज़ैक्शन को रोलबैक करने के लिए, `ROLLBACK` स्टेटमेंट का उपयोग करें।
इंडेक्स
इंडेक्स डेटाबेस तालिका में डेटा की खोज को गति देने के लिए उपयोग किया जाने वाला एक डेटा संरचना है। इंडेक्स एक तालिका के एक या अधिक कॉलम पर बनाया जा सकता है।
SQLite में इंडेक्स बनाने के लिए, `CREATE INDEX` स्टेटमेंट का उपयोग करें। उदाहरण के लिए, निम्न स्टेटमेंट `employees` तालिका के `name` कॉलम पर एक इंडेक्स बनाता है:
```sql CREATE INDEX idx_employees_name ON employees (name); ```
उन्नत सुविधाएँ
SQLite कई उन्नत सुविधाएँ प्रदान करता है, जिनमें शामिल हैं:
- **जॉइन:** कई तालिकाओं से डेटा को संयोजित करने के लिए।
- **सबक्वेरी:** एक क्वेरी के भीतर एक अन्य क्वेरी का उपयोग करने के लिए।
- **फंक्शन:** कस्टम कार्यों को परिभाषित करने के लिए।
- **ट्रिगर:** एक तालिका में डेटा में परिवर्तन होने पर स्वचालित रूप से निष्पादित होने वाले कोड के ब्लॉक को परिभाषित करने के लिए।
- **व्यू:** एक या अधिक तालिकाओं से डेटा का एक वर्चुअल टेबल बनाने के लिए।
SQLite और अन्य डेटाबेस
SQLite कई अन्य डेटाबेस सिस्टम से कैसे भिन्न है? यहां एक त्वरित तुलना दी गई है:
| सुविधा | SQLite | MySQL | PostgreSQL | |---|---|---|---| | सर्वर | सर्वरलेस | सर्वर आधारित | सर्वर आधारित | | कॉन्फ़िगरेशन | शून्य-कॉन्फ़िगरेशन | जटिल | जटिल | | पोर्टेबिलिटी | उच्च | कम | कम | | ट्रांज़ैक्शन | समर्थित | समर्थित | समर्थित | | स्केलेबिलिटी | सीमित | उच्च | उच्च |
निष्कर्ष
SQLite एक शक्तिशाली और बहुमुखी डेटाबेस इंजन है जो विभिन्न प्रकार के अनुप्रयोगों के लिए उपयुक्त है। यह स्थापित करने, कॉन्फ़िगर करने और उपयोग करने में आसान है, और यह डेटा अखंडता और विश्वसनीयता सुनिश्चित करता है। यह लेख SQLite के बुनियादी सिद्धांतों का एक परिचय प्रदान करता है। अधिक जानकारी के लिए, SQLite दस्तावेज़ ([3](https://www.sqlite.org/docs.html)) देखें।
संबंधित विषय
- डेटाबेस सामान्यीकरण
- SQL भाषा
- डेटाबेस स्कीमा
- रिलेशनल मॉडल
- डेटाबेस सुरक्षा
- डेटाबेस बैकअप
- डेटाबेस पुनर्प्राप्ति
- डेटाबेस प्रदर्शन ट्यूनिंग
- तकनीकी विश्लेषण
- वॉल्यूम विश्लेषण
- ट्रेडिंग रणनीतियाँ
- जोखिम प्रबंधन
- वित्तीय मॉडलिंग
- पोर्टफोलियो अनुकूलन
- बाजार संकेतक
- कैंडलस्टिक पैटर्न
- मूविंग एवरेज
- RSI (रिलेटिव स्ट्रेंथ इंडेक्स)
- MACD (मूविंग एवरेज कन्वर्जेंस डाइवर्जेंस)
- बोलिंगर बैंड
- फिबोनाची रिट्रेसमेंट
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री