(1)登錄
peng@peng-virtual-machine:~$ sudo -u postgres psql
以用戶postgres身份登錄,postgres為用戶名,可有多個用戶,登錄時會要求輸入相應密碼,之后就會進入psql環境了
(2)切換數據庫
有時候需要在psql環境下切換數據庫,此時執行如下psql命令:
\c dbname username serverIP port
其中除了數據庫名外,其他的參數都是可選的,如果使用默認值可以使用-作為占位符
執行這個命令后,也是提示輸入密碼。
(3)查看幫助
psql提供了很好的在線幫助文檔,總入口命令是help,輸入這個命令就可以看到
vsb9=# help
You are using psql, the command-line interface to PostgreSQL.
Type: \copyright for distribution terms
\h for help with SQL commands(查看SQL命令幫助)
\? for help with psql commands(查看psql命令幫助)
\g or terminate with semicolon to execute query(\g表示命令已經輸入完成,開始執行查詢或操作任務)
例如上面截圖中select id from courses之后#前變"-"表示還在等待輸入命令,這一次命令沒輸入完整,而輸入\g就告訴它開始執行吧。select id from courses;(注意這里加了“;”)表示輸入完成開始執行。這兩種得到的結果是一致的都是返回表中id屬性的值。
\q to quit(退出登錄)
可以看到,標准SQL命令的幫助和psql特有命令的幫助是分開的。輸入\?查看psql命令,會發現所有的psql命令都是以\開頭,這就很容易和標准的SQL命令進行區分開來。
(4)常用數據庫命令(mysql為MySQL數據庫操作命令,psql為postgresql數據庫命令)
1列出所有的數據庫
mysql: show databases
psql: \l或\list
2切換數據庫
mysql: use dbname
psql: \c dbname
3列出當前數據庫下的所有表
mysql: show tables
psql: \d
4列出指定表的所有字段
mysql: show columns from table name
psql: \d tablename
5查看表的基本情況
mysql: describe tablename
psql: \d+ tablename
SQL常用命令
在切換到某數據庫環境后:
select attr from tablename;(加分號立即執行該語句,該表中的屬性值,這個表應當是當前數據庫中存在的表)
select attr
from tablename;(這樣也是可以的,二者效果等同,這一形式在其他情況下會用到)