有没有 SELECT * FROM 的快捷方式?

18

在 psql 控制台中有许多有用的快捷键,例如 \d\l
我想知道是否有一个快捷方式可以执行 SELECT * FROM table_name
我经常使用这个查询来学习,因此不必一直写 select * from ... 会很有帮助。


你不应该写 SELECT * :-) 这通常被认为是一种不好的做法(当然,对于测试查询,你可以这样做):你看不到将返回哪些列以及它们的顺序,你通常并不真正需要所有列,并且当表定义被更改时,这将改变返回数据的布局。 - dnoeth
11
@dnoeth说:有很多情况需要使用SELECT *,甚至更多的情况下这只是方便之举。事实上,它经常被滥用于不该使用的地方,但这并不能证明一个普遍性的说法:"你不应该使用它"。这就像是在说:"你不应该使用刀子"。 - Erwin Brandstetter
@dnoeth 我知道你的意思,但我说了“出于学习目的” ;) - user3616181
这就是为什么我更喜欢GUI客户端 ;) 我只需在编辑器中突出显示表名,按下快捷键,工具就会为我运行select * - user330315
GUI是一个梦想。但由于课程要求,我只能使用文本模式 :) - user3616181
1个回答

42

在标准SQL中,有一个用于 SELECT * FROM 的快捷方式,所以您可以在psql中使用它:

TABLE tablename;

这种语法简写只能在有限的从句中使用。 手册:

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


3
太好了,那正是我想要的。谢谢 Erwin。 - user3616181
2
这样可以节省13个字符中的8个字符;) 唉,他们把重要的东西放进了语言里。再一次,你对Postgres的知识大放异彩。 - Gordon Linoff
根据 ANSI SQL 委员会成员 Joe Celko(在委员会任职了十年)的说法 - 委员会从来没有不喜欢的想法... - Vérace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接