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


当前回答

在有密码保护的数据库中直接执行SQL命令。它宁愿在命令行中使用连接字符串格式。 使用该命令:

psql -d postgresql://postgres:password@localhost:5432/dbname 
-c "create database sample1 --or any command"

其他回答

在有密码保护的数据库中直接执行SQL命令。它宁愿在命令行中使用连接字符串格式。 使用该命令:

psql -d postgresql://postgres:password@localhost:5432/dbname 
-c "create database sample1 --or any command"

我还注意到查询

SELECT * FROM tablename;

在PSQL命令提示符上给出错误 而且

SELECT * FROM "tablename";

运行正常,很奇怪,所以别忘了双引号。 我一直喜欢数据库:-(

SELECT * FROM my_table;

其中my_table是你的表名。

编辑:

psql -c "SELECT * FROM my_table"

或者只是PSQL,然后键入您的查询。

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

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

例如,发起一个交互式会话:

psql -U username mydatabase 
mydatabase=#

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

例如:

mydatabase=# SELECT * FROM mytable;

如果您忘记了分号,那么当您按回车键时,您将在返回行中得不到任何东西,因为psql将假设您没有完成输入查询。这会导致各种各样的困惑。例如,如果您重新输入相同的查询,很可能会产生语法错误。

作为一个实验,尝试在psql提示符下输入任何你想要的乱码,然后按enter。PSQL将默默地为您提供一个新行。如果你在新行输入一个分号,然后按回车键,那么你会收到ERROR:

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

经验法则是: 如果你没有收到来自psql的响应,但你期望至少SOMETHING,那么你忘记了分号;

在应用程序(Mac)中打开“SQL Shell (psql)”。

单击enter以获得默认设置。根据提示输入密码。

*)类型\?寻求帮助

*)输入\conninfo查看您连接的用户。

*)输入\l查看数据库列表。

*)通过\c <数据库>的名称连接到数据库,例如\c GeneDB1

您应该看到键提示符更改为新的DB,如下所示:

*)现在您在一个给定的DB中,您想知道该DB的schema。最好的命令是\dn。

其他同样有效(但不是那么好)的命令有select schema_name from information_schema.schemata;从pg_catalog.pg_namespace中选择nspname:

-)现在您已经有了schema,您想知道这些schema中的表。为此,您可以使用dt命令。例如\dt "GeneSchema1".*

*)现在您可以进行查询。例如:

*)下面是上面的DB, Schema和Tables在pgAdmin中的样子: