Sqlite का उपयोग करके .sqlite फ़ाइल को ठीक से कैसे देखें?


16

मैंने sqliteफ़ाइल एक्सटेंशन को उस एक्सटेंशन के साथ देखने के लिए प्रोग्राम इंस्टॉल किया है , हालांकि इसके हेल्प डॉक्यूमेंटेशन और इसके मैनपेज को पढ़ने के बाद भी, मैं अभी भी इस बात को लेकर उलझन में हूं कि मुझे यह कैसे मिले, मुझे यह दिखाना है कि मुझे क्या चाहिए। तो आप वास्तव में इस कार्यक्रम का उपयोग कैसे करते हैं? मैं बस उस एक्सटेंशन की एक फ़ाइल को ठीक से देखना चाहता हूं।

मैं गनोम 3.20 के साथ उबंटू GNOME 16.04 चला रहा हूं।


1
आप क्या आउटपुट या व्यू टाइप चाहते हैं? जीयूआई डेटाबेस खोजकर्ता भी हैं जिन्हें संभालना आसान होगा, मुझे लगता है।
बाइट कमांडर

@ बाइटकॉमर: यह निर्भर करता है कि क्या प्रकार हैं, क्या आप मुझे कुछ उदाहरण दे सकते हैं? इसके अलावा, अगर सीएलआई या जीयूआई में है तो मुझे वास्तव में कोई आपत्ति नहीं है।

2
BTW क्या आप सुनिश्चित हैं कि आप चाहते हैं sqliteऔर नहीं sqlite3?
एंड्रिया लज्जाज़ारो

@AndreaLazzarotto: मुझे नहीं पता ... मुझे पता है कि मेरे पास .sqliteफ़ायरफ़ॉक्स द्वारा बनाई गई फाइलें हैं जिन्हें मैं देखना चाहता हूं।

sqliteपुराना संस्करण है। मैं दृढ़ता से आपको उपयोग करने का सुझाव देता हूं sqlite3लेकिन आपने शायद पहले ही कर दिया है कि अगर आपने sqlitebrowserए में सुझाए अनुसार अद्भुत स्थापित किया है :)
एंड्रिया लेज़रट्रोटो

जवाबों:


32

आइए अधिक उपयोगकर्ता-अनुकूल तरीके से शुरू करें और GUI टूल का उपयोग करें sqlitebrowser। यह आपको SQL कमांड को जाने बिना आसानी से एक डेटाबेस का पता लगाने की पेशकश करता है।

आप इसे कमांड के साथ इंस्टॉल कर सकते हैं

sudo apt install sqlitebrowser

और इसे लॉन्चर / डैश / एप्लिकेशन मेनू से या कमांड का उपयोग करके चलाएं

sqlitebrowser

मुख्य विंडो में आप Open databaseअपनी *.sqliteफ़ाइल खोलने के लिए क्लिक कर सकते हैं । यह कुछ इस तरह प्रदर्शित करेगा (यहाँ उपयोगकर्ता शैलियों को लागू करने के लिए फ़ायरफ़ॉक्स ऐड-ऑन के डेटाबेस को प्रदर्शित करता है):

यहाँ छवि विवरण दर्ज करें

मैंने पहले से ही Browse Dataबाएं पैनल पर टैब पर स्विच कर दिया है, जहां आप अब डेटाबेस तालिका सामग्री देख सकते हैं। आप "तालिका:" कॉम्बोक्स में प्रदर्शित करने के लिए किस तालिका का चयन करें।


बेशक, आप कमांड-लाइन से भी ऐसा कर सकते हैं, उदाहरण के लिए sqlite3। इस विधि से आपको कम से कम SQL कमांड के एक मूल सेट को जानना होगा और उन्नत उपयोगकर्ताओं के लिए बेहतर होगा या यदि आपको किसी स्क्रिप्ट में आउटपुट को पार्स करने की आवश्यकता है।

आप sqlite3कमांड का उपयोग कर इंस्टॉल करें

sudo apt install sqlite3

और फिर इसे निम्न कमांड के साथ चलाएं ( -columnऔर -headerआउटपुट की बेहतर पठनीयता के लिए विकल्प, man sqlite3अधिक जानकारी के लिए देखें ):

sqlite3 -column -header

फिर आपको इस तरह एक इंटरैक्टिव SQLite3 कमांड प्रॉम्प्ट मिलता है:

$ sqlite3 -column -header
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
sqlite> 

डेटाबेस फ़ाइल को खोलने के लिए आपको सबसे पहले काम करना होगा। इसलिए आप .openSQLite कमांड का उपयोग कर सकते हैं । इसे sqlite>प्रॉम्प्ट में दर्ज करें (ऊपर फिर से उसी फ़ायरफ़ॉक्स ऐड-ऑन डेटाबेस का उपयोग करके, आप निश्चित रूप से एक अलग रास्ता टाइप करेंगे):

.open "/home/bytecommander/.mozilla/firefox/gtltfeay.default/stylish.sqlite"

ध्यान दें कि Tabपूर्णता यहां काम करती है और आपको अपनी डेटाबेस फ़ाइल में पथ दर्ज करने में मदद करेगी।

अब आप .databasesकमांड का उपयोग करके लोड किए गए डेटाबेस की सूची देख सकते हैं (फ़ाइल का नाम छोटा है क्योंकि यह बहुत लंबा है):

sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/bytecommander/.mozilla/firefox/gtltfeay.default/styl

आप देखते हैं कि हमने अभी जो डेटाबेस खोला है उसे अब कहा जाता है main

अगले चरण में हम main(डिफ़ॉल्ट) डेटाबेस के सभी तालिकाओं को सूचीबद्ध करते हैं :

sqlite> .tables
style_meta  styles    

हम दो तालिकाओं को देखते हैं style_metaऔर stylesसूचीबद्ध होते हैं।

style_metaसभी स्तंभों के साथ तालिका को पूरी तरह से प्रदर्शित करते हैं। इसलिए हमें SQL कमांड की आवश्यकता है SELECT * FROM style_meta;(अर्धविराम को मत भूलना!):

sqlite> SELECT * FROM style_meta;
id          style_id    name        value      
----------  ----------  ----------  -----------
46          1           domain      lichess.org
47          1           type        site       
48          3           domain      lichess.org
49          3           type        site       
50          2           domain      lichess.org
51          2           type        site       
53          4           type        global     

SQLite3 के इंटरेक्टिव शेल (एक अवधि के साथ शुरू होने वाले कमांड) के लिए विशिष्ट कमांड की मदद पाने के लिए, प्रॉम्प्ट .helpपर टाइप करें sqlite>या इसका मैनपेज पढ़ें man sqlite3। अन्य सभी कमांड सामान्य एसक्यूएल हैं, आपको उन्हें सीखने के लिए एक बुनियादी एसक्यूएल ट्यूटोरियल की खोज करनी चाहिए।

आप कमांड या + sqlite3का उपयोग करके इंटरएक्टिव शेल को फिर से बाहर निकाल सकते हैं ।.exitCtrlD


1
मैं .schemaकमांड का सुझाव दूंगा कि कैसे टेबल और फील्ड बनाए गए।
एंड्रिया लज्जाज़ारो

Sqlitebrowser के साथ बुरा अनुभव। यह तब लटका हुआ है जब मैंने एक क्वेरी चलाई या जब खिड़की को पृष्ठभूमि में स्थानांतरित किया गया था। उसके बाद कमांड लाइन टूल पर स्विच किया गया।
ka3ak

इतने सुंदर और संपूर्ण उत्तर के लिए @Byte कमांडर को धन्यवाद।
हमेशा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.