天天看點

PostgreSQL 與 MySQL 常用指令對照

有很多 MySQL 的使用者在使用 PostgreSQL 時,對于 PostgreSQL 用戶端(

psql

)的常用指令不是很熟悉,有時甚至會感到困惑,在此羅列 MySQL 用戶端

mysql

與 PostgreSQL 用戶端

psql

常用指令的對照關系,友善大家參考。

在此之前,先來看看幫助指令,二者均可以通過

\?

指令檢視幫助,擷取其支援的指令清單,詳情可參考對應 官網

mysql psql 說明
q (exit/quit) q 退出指令,PostgreSQL 11 也已經支援

quit

exit

select version() 版本資訊
select now() 目前時間
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 同上
desc tablename
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] 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. https://www.postgresql.org/docs/11/static/app-psql.html
  2. 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