提问



我在表格中插入了一个数据....我想现在看到包含行,列和数据的整个表格。我如何通过命令显示它?

最佳参考


psql -U username -d mydatabase -c 'SELECT * FROM mytable'


如果您是postgresql的新手,并且不熟悉使用命令行工具psql,那么当您进入交互式会话时,您应该注意一些令人困惑的行为。


例如,启动交互式会话:


psql -U username mydatabase 
mydatabase=#


此时您可以直接输入查询,但必须记住以分号; 终止查询


例如:


mydatabase=# SELECT * FROM mytable;


如果你忘记了分号,那么当你点击输入时,你的返回线上什么也得不到,因为psql会假设你还没有完成输入你的查询。这可能会导致各种混乱。例如,如果您重新输入相同的查询,则很可能会创建语法错误。


作为实验,尝试在psql提示符下键入任何想要的乱码,然后按Enter键。 psql会默默地为你提供一条新线。如果在该新行上输入分号然后按Enter键,则会收到错误:


mydatabase=# asdfs 
mydatabase=# ;  
ERROR:  syntax error at or near "asdfs"
LINE 1: asdfs
    ^


经验法则是:
如果你没有收到psql的回复,但你至少期待SOMETHING,那么你忘记了分号;

其它参考1


SELECT * FROM my_table;


其中my_table是表的名称。


编辑:


psql -c "SELECT * FROM my_table"


或只是psql然后键入您的查询。

其它参考2


如果您的数据库受密码保护,那么解决方案将是:


PGPASSWORD=password  psql -U username -d dbname -c "select * from my_table"

其它参考3



  1. 打开命令提示符并转到安装Postgres的目录。在我的情况下,我的 Postgres路径是D:\\ TOOLS \\ Postgresql-9.4.1-3。之后移动到Postgres.So命令提示符的bin目录显示为D:\\ TOOLS \\的PostgreSQL-9.4.1-3 \\ BIN>

  2. 现在我的目标是使用UserId值从users表中选择UserName。因此数据库查询是选择你。UserName来自用户u你在哪里。UserId= 1



对于postgres的psql命令提示符,同样的查询如下所示。


D:\\ TOOLS \\ Postgresql-9.4.1-3 \\ bin> psql -U postgres -d DatabaseName -h localhost -
t -c从用户u中选择你。UserName \\你在哪里u。\\UserId \\= 1;