Bir tabloya veri ekledim .... Şimdi satırları, sütunları ve verileri içeren tüm tabloyu görmek istiyorum. Komut aracılığıyla nasıl görüntüleyebilirim?
Bir tabloya veri ekledim .... Şimdi satırları, sütunları ve verileri içeren tüm tabloyu görmek istiyorum. Komut aracılığıyla nasıl görüntüleyebilirim?
Yanıtlar:
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Postgresql'de yeniyseniz ve komut satırı aracını kullanmaya alışkın psql
değilseniz, etkileşimli bir oturuma girdiğinizde bilmeniz gereken bazı kafa karıştırıcı davranışlar vardır.
Örneğin, etkileşimli bir oturum başlatın:
psql -U username mydatabase
mydatabase=#
Bu noktada doğrudan bir sorgu girebilirsiniz, ancak sorguyu noktalı virgülle sonlandırmayı unutmayın.;
Örneğin:
mydatabase=# SELECT * FROM mytable;
Noktalı virgül unutursanız, enter tuşuna bastığınızda dönüş satırınızda hiçbir şey elde psql
edemezsiniz, çünkü sorgunuzu girmeyi tamamlamadığınızı varsayarsınız. Bu her türlü karışıklığa neden olabilir. Örneğin, aynı sorguyu yeniden girerseniz, büyük olasılıkla bir sözdizimi hatası oluşturmuş olursunuz.
Bir deneme olarak, psql istemine istediğiniz herhangi bir garble yazmayı deneyin ve enter tuşuna basın. psql
size sessizce yeni bir hat sunacaktır. Söz konusu yeni satıra noktalı virgül girip enter tuşuna basarsanız, ERROR alırsınız:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Temel kural şudur: Eğer yanıt almadıysanız psql
ama en azından SOMETHING bekliyorduysanız, noktalı virgül unuttunuz;
SELECT * FROM my_table;
my_table
tablonuzun adı nerede .
DÜZENLE:
psql -c "SELECT * FROM my_table"
ya da sadece psql
ve sonra sorgularınızı yazın.
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
Uygulamalarınızdan (Mac) "SQL Shell (psql)" uygulamasını açın.
Varsayılan ayarlar için enter'a tıklayın. İstendiğinde şifreyi girin.
*) \?
Yardım türü
*) \conninfo
Hangi kullanıcı olarak bağlandığınızı görmek için yazın.
*) \l
Veritabanlarının listesini görmek için yazın.
*) Bir veritabanına \c <Name of DB>
örneğin\c GeneDB1
Yeni DB'de anahtar isteminin değiştiğini görmelisiniz, şöyle:
*) Artık belirli bir DB'de olduğunuza göre, o DB için Şemaları bilmek istiyorsunuz. Bunu yapmak için en iyi komut \dn
.
Ayrıca işin bu diğer komutlar (ancak iyi gibi) vardır select schema_name from information_schema.schemata;
ve select nspname from pg_catalog.pg_namespace;
:
-) Artık Şemalara sahip olduğunuza göre, bu Şemalardaki tabloları bilmek istiyorsunuz. Bunun için dt
komutu kullanabilirsiniz . Örneğin\dt "GeneSchema1".*
*) Şimdi sorgularınızı yapabilirsiniz. Örneğin:
*) Yukarıdaki DB, Şema ve Tabloların pgAdmin'de nasıl göründüğü aşağıda açıklanmıştır:
Aynı sorgu postgres psql komut istemi için aşağıdaki gibi yazılır.
D: \ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d VeritabanıAdı -h localhost - t -c "Kullanıcılardan u seçin. \" KullanıcıAdı \ "u Nerede u. \" UserId \ "= 1 'dir;
@Hibe cevabı konusunda hiç şüphem yok. Ancak, sütun adının doğal gibi herhangi bir ayrılmış postgresql anahtar sözcüğüne benzemesi gibi bazen birkaç sorunla karşılaşıyorum . Yani benim yaklaşım SQL ayrı bir dosyaya yazmak ve SQL dosyasını komut satırından çalıştırmak. Bunun başka bir avantajı daha var. Büyük bir komut dosyasının sorgusunu değiştirmeniz gerekiyorsa, komut dosyası dosyasına veya komutuna dokunmanız gerekmez. SQL dosyasını sadece böyle değiştirin
psql -h localhost -d database -U postgres -p 5432 -a -q -f /path/to/the/file.sql
Belirli türdeki ifadelerde, kullanıma daha uygun bulabilirsiniz - diğer Azure Data Studio
her şey için yerleşik komut satırı ile birlikte gelir. Stüdyosu kullanarak yazma ifadelerini ve çıktıyı daha rahat okuyabilirsiniz.
Aşağıdaki adımları takip et:
Yerel veya uzak sunucunuza bağlanın:
Yalnızca SQL yazmaya ve yürütmeye odaklanın:
Bağlantıları kaydetme, sunucu grupları oluşturma ve hatta yerleşik terminal aracılığıyla daha rahat olursanız , birçok güzel özellik vardır psql
.
--single-line
(veya-s
) sahipti .