database - 从命令行运行 PostgreSQL 查询

标签 database postgresql

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

最佳答案

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

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

例如发起一个交互 session :

psql -U username mydatabase 
mydatabase=#

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

例如:

mydatabase=# SELECT * FROM mytable;

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

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

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

经验法则是: 如果您没有收到来自 psql 的响应,但您至少期待一些东西,那么您忘记了分号 ;

关于database - 从命令行运行 PostgreSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19674456/

相关文章:

sql - PostgreSQL select * 其中列包含数组值

java - 奇怪的 nullPointerException 错误 - 数据库相关

php - 使用 PHP 列出 MySQL 数据库中的所有表

java - 在 Sqlite 中仅创建和更新单个值

sql - postgres 选择从不同表中选择的数组中的 id

Postgresql - 更新规则 - 可能有最后修改日期,自动更新该行的 "on update"?

postgresql - 使用 pgadmin 连接到远程服务器

数据库定价表聚合问题

database - 用于移动设备的 Flex - 使用数据库

bash - 是否可以在 psql 中组合 `-c` 和 `-v`?