PostgreSQL與MySQL常用命令對照

東明發表於2018-11-20

有很多 MySQL 的使用者在使用 PostgreSQL 時,對於 PostgreSQL 客戶端(psql)的常用命令不是很熟悉,有時甚至會感到困惑,在此羅列 MySQL 客戶端 mysql 與 PostgreSQL 客戶端 psql 常用命令的對照關係,方便大家參考。

在此之前,先來看看幫助命令,二者均可以通過 ? 命令檢視幫助,獲取其支援的命令列表,詳情可參考對應官網

mysql psql 說明
q (exit/quit) q 退出命令,PostgreSQL 11 也已經支援 quitexit
select version() select version() 版本資訊
select now() select now() 當前時間
select current_user select current_user 當前使用者
select database() select current_database() 當前 database
show databases l 顯示所有 database
show tables dt 也可以使用d,顯示所有表,檢視和序列
show processlist select * from pg_stat_activity 活躍程式/執行緒列表
show create table tablename no equivalent psql 中沒有等價的命令,可以使用 pg_dump --schema-only -t tablename 檢視建表語句
show index from tablename d tablename d tablename會顯示索引,觸發器,規則和約束
show triggers from tablename d tablename 同上
desc tablename d tablename 同上
no equivalent dn 顯示所有 schema,MySQL 沒有這個概念
u dbname (use dbname) c dbname 切換 database
G x 查詢結果每列顯示一行,G 跟在每個查詢後邊
總是顯示執行時間 timing 顯示 SQL 執行時間
C charset encoding encoding 設定字符集,encoding 可以顯示當前字符集
r [dbname] [dbhost] c [dbname] [dbhost] 重連 server
h [command] h [command] help
n pset pager off 關閉 pager,開啟 pager 時會用 less 展示結果
P pset pager always 開啟 pager,用 less 展示結果
. file.sql(source file.sql) i file.sql 從外部檔案讀取 SQL 執行

以上簡單羅列 MySQL 和 PostgreSQL 常用命令的對照關係,歡迎大家補充。

Reference

  1. psql https://www.postgresql.org/docs/11/static/app-psql.html
  2. mysql https://dev.mysql.com/doc/refman/8.0/en/mysql.html
  3. https://www.endpoint.com/blog/2009/12/24/mysql-and-postgres-command-equivalents


相關文章