मैंने एक तालिका में एक डेटा डाला .... मैं अब पूरी तालिका को पंक्तियों और स्तंभों और डेटा के साथ देखना चाहता हूं। मैं इसे कमांड के माध्यम से कैसे प्रदर्शित कर सकता हूं?
मैंने एक तालिका में एक डेटा डाला .... मैं अब पूरी तालिका को पंक्तियों और स्तंभों और डेटा के साथ देखना चाहता हूं। मैं इसे कमांड के माध्यम से कैसे प्रदर्शित कर सकता हूं?
जवाबों:
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
यदि आप कमांड लाइन टूल का उपयोग करने से अपरिचित और अपरिचित नए हैं, psql
तो कुछ भ्रामक व्यवहार हैं जिनके बारे में आपको पता होना चाहिए कि आपने एक इंटरैक्टिव सत्र में प्रवेश किया है।
उदाहरण के लिए, एक संवादात्मक सत्र आरंभ करें:
psql -U username mydatabase
mydatabase=#
इस बिंदु पर आप सीधे एक क्वेरी दर्ज कर सकते हैं लेकिन आपको अर्धविराम के साथ क्वेरी को समाप्त करना याद रखना चाहिए;
उदाहरण के लिए:
mydatabase=# SELECT * FROM mytable;
यदि आप अर्धविराम को भूल जाते हैं तो जब आप एंट्री मारते हैं तो आपको अपनी रिटर्न लाइन पर कुछ नहीं मिलेगा क्योंकि psql
यह माना जाएगा कि आपने अपनी क्वेरी दर्ज नहीं की है। इससे सभी तरह के भ्रम पैदा हो सकते हैं। उदाहरण के लिए, यदि आप उसी क्वेरी को फिर से दर्ज करते हैं तो आपके पास सबसे अधिक संभावना सिंटैक्स त्रुटि होगी।
प्रयोग के रूप में, psql प्रांप्ट पर कोई भी गार्बल टाइप करने का प्रयास करें, फिर एंटर दबाएं। psql
चुपचाप आपको एक नई लाइन प्रदान करेगा। यदि आप उस नई लाइन पर अर्धविराम दर्ज करते हैं और फिर हिट दर्ज करते हैं, तो आपको ERROR प्राप्त होगा:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
अंगूठे का नियम है: यदि आपको कोई प्रतिक्रिया नहीं मिली, psql
लेकिन आप कम से कम सोने की उम्मीद कर रहे थे, तो आप अर्धविराम को भूल गए;
SELECT * FROM my_table;
my_table
आपकी तालिका का नाम कहां है
संपादित करें:
psql -c "SELECT * FROM my_table"
या सिर्फ psql
और फिर अपने प्रश्नों को टाइप करें।
psql -U username -c your_database "SELECT * FROM my_table"
cmd.exe /c chcp 1252
।
psql: FATAL: database "SELECT * FROM tb_name" does not exist
अपने अनुप्रयोगों (मैक) से "SQL शैल (psql)" खोलें।
डिफ़ॉल्ट सेटिंग्स के लिए एंटर पर क्लिक करें। संकेत दिए जाने पर पासवर्ड डालें।
*) \?
मदद के लिए टाइप करें
*) \conninfo
यह देखने के लिए टाइप करें कि आप किस उपयोगकर्ता से जुड़े हुए हैं।
*) \l
डेटाबेस की सूची देखने के लिए टाइप करें।
*) \c <Name of DB>
उदाहरण के लिए, डेटाबेस से कनेक्ट करें\c GeneDB1
आपको नए DB के लिए महत्वपूर्ण त्वरित परिवर्तन देखना चाहिए, जैसे:
*) अब जब आप किसी दिए गए DB में हैं, तो आप उस DB के लिए स्कीमें जानना चाहते हैं। इसके लिए सबसे अच्छा कमांड है \dn
।
अन्य कमांड जो काम भी करते हैं (लेकिन उतने अच्छे नहीं हैं) select schema_name from information_schema.schemata;
और select nspname from pg_catalog.pg_namespace;
:
-) अब आपके पास स्कीमा हैं, आप उन स्कीमों में तालिकाएँ जानना चाहते हैं। उसके लिए, आप dt
कमांड का उपयोग कर सकते हैं । उदाहरण के लिए\dt "GeneSchema1".*
*) अब आप अपनी क्वेरी कर सकते हैं। उदाहरण के लिए:
*) यहाँ उपरोक्त DB, स्कीमा और तालिकाएँ pgAdmin की तरह दिखती हैं:
पोस्टर्स के psql कमांड प्रॉम्प्ट के लिए उसी क्वेरी को नीचे लिखा गया है।
D: \ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d DatabaseName -h localhost - t -c "users u। U"। \ "UserId \" = से उपयोगकर्ताओं से \ "UserName \" का चयन करें। 1;
मुझे @ जीआरएन उत्तर पर कोई संदेह नहीं है। लेकिन मुझे कभी-कभी कुछ समस्याओं का सामना करना पड़ता है जैसे कि स्तंभ का नाम पोस्टग्रैस्केल के किसी भी आरक्षित कीवर्ड के समान है जैसे कि इस मामले में प्राकृतिक समान है कमांड लाइन से चलाना मुश्किल है क्योंकि क्वेरी फ़ील्ड में "\ natural \" की आवश्यकता होगी। इसलिए मेरा दृष्टिकोण एसक्यूएल को अलग फाइल में लिखना है और कमांड लाइन से एसक्यूएल फाइल को चलाना है। इसका एक और फायदा भी है। यदि आपको एक बड़ी स्क्रिप्ट के लिए क्वेरी को बदलना है तो आपको स्क्रिप्ट फ़ाइल या कमांड को छूने की आवश्यकता नहीं है। केवल SQL फ़ाइल को इस तरह बदलें
psql -h localhost -d database -U postgres -p 5432 -a -q -f /path/to/the/file.sql
विशेष प्रकार के बयानों के लिए आप उपयोग करने के लिए अधिक उपयुक्त पा सकते हैं Azure Data Studio
- बाकी सभी चीजों के लिए यह अंतर्निहित कमांड लाइन के साथ आता है। स्टूडियो का उपयोग करके आप टाइपिंग स्टेटमेंट पा सकते हैं और आउटपुट को अधिक आरामदायक पढ़ सकते हैं।
नीचे दिए गए चरणों का पालन करें:
अपने स्थानीय या दूरस्थ सर्वर से कनेक्ट करें:
केवल SQL लिखने और निष्पादित करने पर ध्यान दें:
रहे हैं कई , कनेक्शन बचत सर्वर समूह बनाने के रूप में अच्छा सुविधाओं और यहां तक कि निर्मित टर्मिनल यदि आप और अधिक आरामदायक के माध्यम से कुछ काम कर रही हैं psql
।
--single-line
(या-s
) है जो हर कमांड को अर्धविराम जोड़ने की आवश्यकता के बिना तत्काल बनाता है।