SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite कमांड

सारांश :इस ट्यूटोरियल में, हम आपको 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.dbCode 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 . का उपयोग करते हैं आदेश इस प्रकार है:

.helpCode 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>.exitCode 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>.fullschemaCode 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_TrackMediaTypeIdCode language: Shell Session (shell)

किसी विशिष्ट तालिका की अनुक्रमणिका दिखाने के लिए, आप .indexes TABLE . का उपयोग करते हैं आज्ञा। उदाहरण के लिए, albums . की अनुक्रमणिका दिखाने के लिए तालिका, आप निम्न आदेश का उपयोग करें:

sqlite> .indexes albums
IFK_AlbumArtistIdCode language: CSS (css)

उन तालिकाओं की अनुक्रमणिका दिखाने के लिए जिनके नाम es . के साथ समाप्त होते हैं , आप LIKE ऑपरेटर के पैटर्न का उपयोग करते हैं।

sqlite> .indexes %es
IFK_EmployeeReportsTo
IFK_InvoiceCustomerIdCode 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 SpadesCode language: Shell Session (shell)

इस ट्यूटोरियल में, आपने SQLite डेटाबेस से संबंधित विभिन्न कार्यों को करने के लिए sqlite3 टूल में कई उपयोगी कमांड सीखे हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंड्रॉइड डेटाबेस में लंबे मूल्य को स्टोर करें

  2. SQLite में 4 सारणीबद्ध आउटपुट मोड

  3. रूम लाइब्रेरी का उपयोग करके स्ट्रैटटाइम और डेटाटाइम का सही तरीके से उपयोग कैसे करें?

  4. SQLitE डेटाबेस से लोड किया गया डेटा मॉडल वर्ग ArrayList android में सहेजा नहीं जा रहा है

  5. Greendao का उपयोग करके दो तालिकाओं से अनेक स्तंभों का चयन करें