सारांश :इस ट्यूटोरियल में, हम आपको sqlite3 कमांड-लाइन प्रोग्राम के सबसे अधिक इस्तेमाल किए जाने वाले SQLite कमांड से परिचित कराएंगे।
SQLite प्रोजेक्ट sqlite3 (या विंडोज़ पर sqlite3.exe) नामक एक साधारण कमांड-लाइन टूल प्रदान करता है जो आपको SQL स्टेटमेंट और कमांड का उपयोग करके SQLite डेटाबेस के साथ इंटरैक्ट करने की अनुमति देता है।
SQLite डेटाबेस से कनेक्ट करें
sqlite3 को शुरू करने के लिए, आप sqlite3 को इस प्रकार टाइप करें:
>sqlite3
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
Code language: Shell Session (shell)
डिफ़ॉल्ट रूप से, SQLite सत्र इन-मेमोरी डेटाबेस का उपयोग करता है, इसलिए, सत्र समाप्त होने पर सभी परिवर्तन समाप्त हो जाएंगे।
डेटाबेस फ़ाइल खोलने के लिए, आप .open FILENAME
. का उपयोग करते हैं आज्ञा। निम्न कथन chinook.db
को खोलता है डेटाबेस:
sqlite> .open c:\sqlite\db\chinook.db
Code language: Shell Session (shell)
यदि आप SQlite डेटाबेस से कनेक्ट होने पर एक विशिष्ट डेटाबेस फ़ाइल खोलना चाहते हैं, तो आप निम्न कमांड का उपयोग करते हैं:
>sqlite3 c:\sqlite\db\chinook.db
SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints.
sqlite>
Code language: Shell Session (shell)
यदि आप एक ऐसे डेटाबेस नाम के साथ सत्र शुरू करते हैं जो मौजूद नहीं है, तो sqlite3 उपकरण डेटाबेस फ़ाइल बनाएगा।
उदाहरण के लिए, निम्न कमांड sales
. नाम का एक डेटाबेस बनाता है C:\sqlite\db\
. में निर्देशिका:
>sqlite3 c:\sqlite\db\sales.db
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
sqlite>
Code language: Shell Session (shell)
सभी उपलब्ध कमांड और उनके उद्देश्य दिखाएं
सभी उपलब्ध आदेशों और उनके उद्देश्य को दिखाने के लिए, आप .help
. का उपयोग करते हैं आदेश इस प्रकार है:
.help
Code language: Shell Session (shell)
डेटाबेस को वर्तमान डेटाबेस कनेक्शन में दिखाएं
वर्तमान कनेक्शन में सभी डेटाबेस दिखाने के लिए, आप .databases
. का उपयोग करते हैं आज्ञा। .databases
कमांड नाम के साथ कम से कम एक डेटाबेस प्रदर्शित करता है:main
।
उदाहरण के लिए, निम्न कमांड वर्तमान कनेक्शन के सभी डेटाबेस दिखाता है:
sqlite> .database
seq name file
--- --------------- --------------------------
0 main c:\sqlite\db\sales.db
sqlite>
Code language: Shell Session (shell)
वर्तमान कनेक्शन में एक अतिरिक्त डेटाबेस जोड़ने के लिए, आप कथन ATTACH DATABASE
. का उपयोग करते हैं . निम्नलिखित कथन chinook
जोड़ता है वर्तमान कनेक्शन के लिए डेटाबेस।
sqlite> ATTACH DATABASE "c:\sqlite\db\chinook.db" AS chinook;
Code language: Shell Session (shell)
अब अगर आप .database
. चलाते हैं फिर से कमांड करें, sqlite3 दो डेटाबेस लौटाता है:main
और chinook
।
sqlite> .databases
seq name file
--- --------------- ---------------------
0 main c:\sqlite\db\sales.db
2 chinook c:\sqlite\db\chinook.db
Code language: Shell Session (shell)
sqlite3 टूल से बाहर निकलें
sqlite3 प्रोग्राम से बाहर निकलने के लिए, आप .exit
. का उपयोग करते हैं आदेश।
sqlite>.exit
Code language: Shell Session (shell)
डेटाबेस में टेबल दिखाएं
वर्तमान डेटाबेस में सभी तालिकाओं को प्रदर्शित करने के लिए, आप .tables
. का उपयोग करते हैं आज्ञा। निम्न आदेश chinook
. के लिए एक नया डेटाबेस कनेक्शन खोलते हैं डेटाबेस और डेटाबेस में टेबल प्रदर्शित करें।
>sqlite3 c:\sqlite\db\chinook.db
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
sqlite> .tables
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_track
sqlite>
Code language: Shell Session (shell)
यदि आप किसी विशिष्ट पैटर्न के आधार पर टेबल ढूंढना चाहते हैं, तो आप .table
. का उपयोग करें पैटर्न कमांड। sqlite3 LIKE
. का उपयोग करता है पैटर्न मिलान के लिए ऑपरेटर।
उदाहरण के लिए, निम्न कथन उस तालिका को लौटाता है जो स्ट्रिंग के साथ समाप्त होती है es
।
sqlite> .table '%es'
employees genres invoices media_types
sqlite>
Code language: Shell Session (shell)
तालिका की संरचना दिखाएं
किसी तालिका की संरचना को प्रदर्शित करने के लिए, आप .schema TABLE
. का उपयोग करते हैं आज्ञा। TABLE
तर्क एक पैटर्न हो सकता है। यदि आप इसे छोड़ देते हैं, तो .schema
कमांड सभी तालिकाओं की संरचना दिखाएगा।
निम्न कमांड albums
की संरचना को दर्शाता है टेबल।
sqlite> .schema albums
CREATE TABLE "albums"
(
[AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL,
[ArtistId] INTEGER NOT NULL,
FOREIGN KEY ([ArtistId]) REFERENCES "artists" ([ArtistId])
ON DELETE NO ACTION ON UPDATE NO ACTION
);
CREATE INDEX [IFK_AlbumArtistId] ON "albums" ([ArtistId]);
sqlite>
Code language: Shell Session (shell)
sqlite_stat
की स्कीमा और सामग्री दिखाने के लिए टेबल, आप .fullschema
. का उपयोग करते हैं आदेश।
sqlite>.fullschema
Code language: CSS (css)
सूचकांक दिखाएं
वर्तमान डेटाबेस के सभी इंडेक्स दिखाने के लिए, आप .indexes
. का उपयोग करते हैं आदेश इस प्रकार है:
sqlite> .indexes
IFK_AlbumArtistId
IFK_CustomerSupportRepId
IFK_EmployeeReportsTo
IFK_InvoiceCustomerId
IFK_InvoiceLineInvoiceId
IFK_InvoiceLineTrackId
IFK_PlaylistTrackTrackId
IFK_TrackAlbumId
IFK_TrackGenreId
IFK_TrackMediaTypeId
Code language: Shell Session (shell)
किसी विशिष्ट तालिका की अनुक्रमणिका दिखाने के लिए, आप .indexes TABLE
. का उपयोग करते हैं आज्ञा। उदाहरण के लिए, albums
. की अनुक्रमणिका दिखाने के लिए तालिका, आप निम्न आदेश का उपयोग करें:
sqlite> .indexes albums
IFK_AlbumArtistId
Code language: CSS (css)
उन तालिकाओं की अनुक्रमणिका दिखाने के लिए जिनके नाम es
. के साथ समाप्त होते हैं , आप LIKE ऑपरेटर के पैटर्न का उपयोग करते हैं।
sqlite> .indexes %es
IFK_EmployeeReportsTo
IFK_InvoiceCustomerId
Code language: Shell Session (shell)
क्वेरी के परिणाम को फाइल में सेव करें
किसी क्वेरी के परिणाम को फ़ाइल में सहेजने के लिए, आप .output FILENAME
. का उपयोग करते हैं आज्ञा। एक बार जब आप .output
. जारी कर देते हैं आदेश, बाद की क्वेरी के सभी परिणाम उस फ़ाइल में सहेजे जाएंगे जिसे आपने FILENAME
में निर्दिष्ट किया है बहस। यदि आप अगली एकल क्वेरी के परिणाम को केवल फ़ाइल में सहेजना चाहते हैं, तो आप .once FILENAME
जारी करते हैं आदेश।
क्वेरी के परिणाम को मानक आउटपुट में फिर से प्रदर्शित करने के लिए, आप .output
. जारी करते हैं तर्क के बिना आदेश।
निम्नलिखित कमांड title
का चयन करें albums
. से तालिका बनाएं और परिणाम को albums.txt
. पर लिखें फ़ाइल।
sqlite> .output albums.txt
sqlite> SELECT title FROM albums;
Code language: Shell Session (shell)
फ़ाइल से SQL कथन निष्पादित करें
मान लीजिए हमारे पास commands.txt
. नाम की एक फाइल है c:\sqlite\
. में निम्नलिखित सामग्री वाला फ़ोल्डर:
SELECT albumid, title
FROM albums
ORDER BY title
LIMIT 10;
Code language: Shell Session (shell)
SQL कथनों को commands.txt
. में निष्पादित करने के लिए फ़ाइल, आप .read FILENAME
. का उपयोग करें आदेश इस प्रकार है:
sqlite> .mode column
sqlite> .header on
sqlite> .read c:/sqlite/commands.txt
AlbumId Title
---------- ----------------------
156 ...And Justice For All
257 20th Century Masters -
296 A Copland Celebration,
94 A Matter of Life and D
95 A Real Dead One
96 A Real Live One
285 A Soprano Inspired
139 A TempestadeTempestade
203 A-Sides
160 Ace Of Spades
Code language: Shell Session (shell)
इस ट्यूटोरियल में, आपने SQLite डेटाबेस से संबंधित विभिन्न कार्यों को करने के लिए sqlite3 टूल में कई उपयोगी कमांड सीखे हैं।