假设我需要在控制台中手写一些查询,执行多行查询(如CREATE TABLE
语句)的最有效方法是什么?
我习惯于使用 Microsoft Management Studio,但我现在发现自己必须即时了解 PostgreSQL。
小智 39
以下将带您进入 PostgreSQL 的交互式终端:
$ psql <your database name>
Run Code Online (Sandbox Code Playgroud)
然后输入\e
(或\edit
)打开一个编辑器(vi
默认):
# \e
Run Code Online (Sandbox Code Playgroud)
写一些查询:
select now();
Run Code Online (Sandbox Code Playgroud)
最后,保存并退出您的编辑器(例如:wq
在 中vi
),然后psql
将运行您刚刚编写的查询。
要设置不同的编辑器,例如vim
或nano
,请设置以下环境变量之一:PSQL_EDITOR
、EDITOR
、VISUAL
。
有关更多信息,请参阅https://www.postgresql.org/docs/current/app-psql.html并搜索\e
。
小智 9
您可以在 bash(.sh 文件)中使用此语法:
psql postgres://postgres:postgres@localhost:5432/postgres << SQL
CREATE TABLE "public"."links" (
id bigint PRIMARY KEY,
from_id bigint DEFAULT 0,
to_id bigint DEFAULT 0,
type_id bigint NOT NULL
);
SQL
Run Code Online (Sandbox Code Playgroud)
小智 7
显而易见,但如果有人不知道,您可以直接在 psql 提示符中编写多行语句:
psql -h localhost -p 5432 -U postgres public
public=# SELECT
public=# *
public=# FROM
public=# mytable
public=# LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
请注意尾随;
字符 - 任何 SQL 命令只有在发出该字符后才会执行。因此,最简单的方法是简单地复制并粘贴带有结尾的多行 SQL 命令;
。
归档时间: |
|
查看次数: |
27671 次 |
最近记录: |