本文主要介紹 PostgreSQL 執行指令的一些眉眉角角。
前面的文章有提到,我們可以使用下述指令進入 PostgreSQL :
psql postgres
我們會看到 command line 的提示符變成:
postgres=#
在進入 psql 的介面後,就可以直接撰寫 SQL 語法。
換行時可以直接按 enter
進行換行,psql 直到辨識到 ;
(代表 SQ L語意結束)才會開始執行。
比如以下這段創建資料表的 SQL 語法:
CREATE TABLE cities (
name varchar(80),
location point
);
在 psql 中在撰寫會長這樣(#
字號後面為撰寫的部分):
postgres=# CREATE TABLE cities(
postgres(# name varchar(80),
postgres(# location point
postgres(# );
按下 enter
後,建立資料表,介面會如下顯示:
postgres=# CREATE TABLE cities(
name varchar(80),
location point
postgres(# );
CREATE TABLE
postgres=#
我們需要注意,在 psql 介面中,可以直接換行撰寫 SQL,並以 ;
為語句結束。
註:大家或許有注意到,SQL 中有些關鍵語句是使用大寫字母,這主要是慣例寫法,其實用小寫也不會出錯,但建議還是可以使用大寫,與其他內容做出區隔。
Meta commands are a feature that psql has which allows the user to do powerful operations without querying a database.
進入 psql 後,除了撰寫 SQL,也可以執行非 SQL 的指令。
這些指令就是所謂的 meta-commands
,比如我們之前使用的:
# 查看資料庫
\l
# 查看角色 & 權限
\du
登入 psql 後,以 \
開頭的指令會被視為 meta-commands,這些指令將會被 psql 所處理。
psql 的 meta-commands 的形式是在 \
後接 command verb,再接參數。
比如上一章節中,查看指定資料庫的指令:
\l db_name
我們可以注意,在 PostgreSQL 中撰寫非 SQL 語法,即 meta-commands
,是以 \
開頭。
參考資料: