Wstawiłem dane do tabeli ... Chcę teraz zobaczyć całą tabelę z wierszami, kolumnami i danymi. Jak mogę wyświetlić to za pomocą polecenia?
Wstawiłem dane do tabeli ... Chcę teraz zobaczyć całą tabelę z wierszami, kolumnami i danymi. Jak mogę wyświetlić to za pomocą polecenia?
Odpowiedzi:
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Jeśli psql
dopiero zaczynasz korzystać z postgresql i nie wiesz, jak korzystać z narzędzia wiersza poleceń, możesz mieć pewne niejasne zachowania, o których powinieneś wiedzieć, kiedy weźmiesz udział w sesji interaktywnej.
Na przykład zainicjuj sesję interaktywną:
psql -U username mydatabase
mydatabase=#
W tym momencie możesz wpisać zapytanie bezpośrednio, ale musisz pamiętać, aby zakończyć zapytanie średnikiem;
Na przykład:
mydatabase=# SELECT * FROM mytable;
Jeśli zapomnisz średnika, po naciśnięciu klawisza Enter nie otrzymasz nic w wierszu powrotu, ponieważ psql
zakładasz, że nie zakończyłeś wprowadzania zapytania. Może to prowadzić do wszelkiego rodzaju zamieszania. Na przykład, jeśli ponownie wprowadzisz to samo zapytanie, najprawdopodobniej utworzysz błąd składniowy.
W ramach eksperymentu spróbuj wpisać dowolną ozdobę w wierszu polecenia psql, a następnie naciśnij klawisz Enter. psql
po cichu dostarczy ci nową linię. Jeśli wpiszesz średnik w tym nowym wierszu, a następnie naciśniesz enter, otrzymasz BŁĄD:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
Ogólna zasada brzmi: jeśli nie otrzymałeś żadnej odpowiedzi, psql
ale spodziewałeś się COŚ COŚ, to zapomniałeś średnika;
SELECT * FROM my_table;
gdzie my_table
jest nazwa twojego stołu.
EDYTOWAĆ:
psql -c "SELECT * FROM my_table"
lub po prostu psql
wpisz swoje zapytania.
psql -U username -c your_database "SELECT * FROM my_table"
cmd.exe /c chcp 1252
po otwarciu monitu konsoli.
psql: FATAL: database "SELECT * FROM tb_name" does not exist
Otwórz „SQL Shell (psql)” z poziomu aplikacji (Mac).
Kliknij Enter, aby zobaczyć ustawienia domyślne. Po wyświetleniu monitu wprowadź hasło.
*) Wpisz \?
pomoc
*) Wpisz, \conninfo
aby zobaczyć, z którym użytkownikiem jesteś połączony.
*) Wpisz, \l
aby zobaczyć listę baz danych.
*) Połącz się z bazą danych za pomocą \c <Name of DB>
, na przykład\c GeneDB1
Powinieneś zobaczyć zmianę klucza na nową DB, tak jak:
*) Teraz, gdy jesteś w danej bazie danych, chcesz poznać schematy dla tej bazy danych. Najlepszym poleceniem do tego jest \dn
.
Inne polecenia, które również działają (ale nie tak dobrze) to select schema_name from information_schema.schemata;
i select nspname from pg_catalog.pg_namespace;
:
-) Teraz, gdy masz schematy, chcesz poznać tabele w tych schematach. W tym celu możesz użyć dt
polecenia. Na przykład\dt "GeneSchema1".*
*) Teraz możesz wykonywać zapytania. Na przykład:
*) Oto jak wyglądają powyższe DB, Schemat i Tabele w pgAdmin:
To samo zapytanie jest napisane jak poniżej dla wiersza polecenia psql postgres.
D: \ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d nazwa_bazy_danych -h localhost - t -c "Wybierz u. \" Nazwa_użytkownika \ "od użytkowników u Gdzie u. \" UserId \ "= 1;
Nie mam wątpliwości co do odpowiedzi @Grant. Ale czasami napotykam kilka problemów, na przykład jeśli nazwa kolumny jest podobna do dowolnego zarezerwowanego słowa kluczowego postgresql, takiego jak natural, w tym przypadku podobny SQL jest trudny do uruchomienia z wiersza poleceń, ponieważ w polu zapytania będzie potrzebne „\ natural \”. Więc moim podejściem jest zapisanie SQL w osobnym pliku i uruchomienie pliku SQL z wiersza poleceń. Ma to również inną zaletę. Jeśli musisz zmienić zapytanie dla dużego skryptu, nie musisz dotykać pliku skryptu ani polecenia. Zmień tylko plik SQL w ten sposób
psql -h localhost -d database -U postgres -p 5432 -a -q -f /path/to/the/file.sql
W przypadku konkretnego typu instrukcji można znaleźć bardziej odpowiednie do użycia Azure Data Studio
- do wszystkiego innego zawiera wbudowany wiersz poleceń. Korzystając ze studia, możesz znaleźć instrukcje pisania na klawiaturze i bardziej komfortowe czytanie wyników.
Wykonaj poniższe kroki:
Połącz się z lokalnym lub zdalnym serwerem:
Skoncentruj się na pisaniu i wykonywaniu tylko SQL:
Istnieje wiele fajnych funkcji, takich jak zapisywanie połączeń, tworzenie grup serwerów, a nawet wbudowany terminal, jeśli wygodniej jest wykonywać jakieś zadania za pośrednictwem psql
.
--single-line
(lub-s
), która sprawia, że każde polecenie jest natychmiastowe bez potrzeby dodawania średnika.