我将数据插入表中....我现在想看看整个表,其中包括行,列和数据。如何通过命令显示它?
我将数据插入表中....我现在想看看整个表,其中包括行,列和数据。如何通过命令显示它?
Answers:
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
如果您不熟悉Postgresql并且不熟悉使用命令行工具,psql
那么当您进入交互式会话时,应该注意一些令人困惑的行为。
例如,启动一个交互式会话:
psql -U username mydatabase
mydatabase=#
此时,您可以直接输入查询,但必须记住以分号终止查询;
例如:
mydatabase=# SELECT * FROM mytable;
如果您忘记了分号,那么当您按Enter键时,返回行将不会有任何结果,因为psql
将假定您尚未完成查询输入。这可能导致各种混乱。例如,如果您重新输入相同的查询,则很可能会创建语法错误。
作为实验,尝试在psql提示符下键入所需的任何乱码,然后按Enter。psql
将默默地为您提供新的路线。如果在该新行上输入分号,然后按Enter键,则将收到错误:
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
如果您的数据库受密码保护,那么解决方案将是:
PGPASSWORD=password psql -U username -d dbname -c "select * from my_table"
从应用程序(Mac)中打开“ SQL Shell(psql)”。
单击输入以获取默认设置。出现提示时输入密码。
*)\?
寻求帮助的类型
*)键入\conninfo
以查看您作为哪个用户连接。
*)键入\l
以查看数据库列表。
*)\c <Name of DB>
例如,通过连接到数据库\c GeneDB1
*)现在您位于给定的数据库中,您想知道该数据库的模式。最好的命令是\dn
。
其他也可以(但效果不佳)的命令是select schema_name from information_schema.schemata;
和select nspname from pg_catalog.pg_namespace;
:
-)现在您有了模式,您想知道那些模式中的表。为此,您可以使用dt
命令。例如\dt "GeneSchema1".*
*)现在您可以进行查询了。例如:
*)这是上面的数据库,模式和表在pgAdmin中的外观:
如下针对postgres的psql命令提示符编写了相同的查询。
D:\ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d DatabaseName -h localhost-t -c从用户u中选择“ u。\“ UserName \”其中u。\“ UserId \” = 1;
对于特定类型的语句,您可以找到更适合使用的语句Azure Data Studio
-内置命令行附带的所有其他功能。在工作室中,您可以找到打字说明并更轻松地阅读输出。
请按照以下步骤操作:
连接到本地或远程服务器:
仅专注于编写和执行SQL:
有许多不错的功能,例如保存连接,创建服务器组甚至内置终端(如果您更愿意通过来完成某些任务)psql
。
--single-line
(或-s
)使每个命令立即执行,而无需添加分号。