PostgreSQL , Oracle command reference 語法手冊解讀
標籤
PostgreSQL , reference , 語法 , Oracle
背景
我們在查語法手冊是,比如Oracle, PostgreSQL 語法手冊,經常看到裡面很多這樣的東西,
postgres=# \h insert Command:INSERT Description: create new rows in a table Syntax: [ WITH [ RECURSIVE ] with_query [, ...] ] INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ] [ OVERRIDING { SYSTEM | USER} VALUE ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query } [ ON CONFLICT [ conflict_target ] conflict_action ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] where conflict_target can be one of: ( { index_column_name | ( index_expression ) } [ COLLATE collation ] [ opclass ] [, ...] ) [ WHERE index_predicate ] ON CONSTRAINT constraint_name and conflict_action is one of: DO NOTHING DO UPDATE SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) | ( column_name [, ...] ) = ( sub-SELECT ) } [, ...] [ WHERE condition ]
有大寫,有效寫,有沒有括號的,有小括號,有中括號,有大括號,有逗號,有勝利號,有豎線。它們是什麼含義呢:
1、大寫:關鍵字
2、小寫:變數,使用者輸入,或者下面對應的SUB SECTION的內容替換
3、小括號:沒有特別含義,注意在輸入時,小括號本身需要輸入
4、大括號:裡面的內容為必選內容,大括號不需要輸入
5、中括號:裡面的內容為可選內容,中括號不需要輸入
6、豎線:被豎線分開的內容,為任選一的內容,豎線不需要輸入
7、中括號+逗號+省略號:表示中括號前面的內容可以被多次輸入,逗號本身需要輸入
8、中括號+省略號:表示中括號前面的內容可以被多次輸入,沒有逗號
參考
ofollow,noindex" target="_blank">https://www.postgresql.org/docs/current/static/sql-commands.html