【问题标题】:Is there a shortcut for SELECT * FROM?SELECT * FROM 有快捷方式吗?
【发布时间】:2015-07-28 08:25:01
【问题描述】:

psql 控制台中有许多有用的快捷方式,例如\d\l
我想知道SELECT * FROM table_name 有吗?
我经常将此查询用于学习目的,因此不必一直写select * from ... 会很有帮助。

【问题讨论】:

  • 你根本不应该写SELECT * :-) 这通常被认为是不好的做法(对于生产查询,当然你可以这样做来测试):你看不到哪些列会以何种顺序返回,您通常并不需要所有列,并且当更改表定义时,这将更改返回数据的布局。
  • @dnoeth:在很多情况下您需要SELECT *,甚至在方便的情况下更多。它经常(ab)在不应该使用的地方使用这一事实,并不能保证像“你不应该使用它”这样的一般性陈述。就像说:“你不应该使用刀”。
  • @dnoeth 我知道你的意思,但正如我所说的“出于学习目的”;)
  • 这就是我更喜欢 GUI 客户端的原因 ;) 我只是在编辑器中突出显示表名,按下快捷方式,该工具会为我运行 select *
  • GUI 是一个梦想。我只有文本模式可用,因为课程形式需要它:)

标签: sql postgresql syntax psql


【解决方案1】:

标准SQL中有SELECT * FROM的快捷方式,可以在psql中使用:

TABLE tablename;

这种语法简写只能用于有限范围的子句。 The manual:

它可以用作顶级命令或节省空间的语法 复杂查询的部分变体。只有WITHUNIONINTERSECTEXCEPTORDER BYLIMITOFFSETFETCHFOR 锁定子句可以是 与TABLE 一起使用; WHERE 子句和任何形式的聚合都不能 使用。

【讨论】:

  • 太好了,这就是我想要的。谢谢欧文。
  • 这节省了 13 个字符中的 8 个字符 ;) 唉,他们在语言中投入的重要内容。再一次,您对 Postgres 的了解大放异彩。
  • 根据 Joe Celko(在 ANSI SQL 委员会/委员会工作了十年)的说法——委员会从未见过它不喜欢的想法......
猜你喜欢
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
  • 1970-01-01
  • 2010-10-04
  • 2017-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多