摘要:在本教程中,您將學習 SQL 語法,它能幫助您有效地編寫 SQL 語句。
SQL 語法入門 #
SQL(Structured Query Language,結構化查詢語言)是您用來與資料庫通訊的語言。
SQL 是一種宣告式語言。這意味著您告訴資料庫您想要什麼,而不是如何去獲取它。與其它程式語言相比,這一特性使得 SQL 非常容易學習。
基本的 SQL 語句結構包括動詞、主語和條件。
大多數 SQL 語句都遵循一個模式:
- 動詞 (Action):是您希望資料庫執行的操作,例如
SELECT、INSERT、UPDATE和DELETE。 - 主語 (Target):是您操作的資料庫物件,例如表。
- 條件 (Filter):選擇您感興趣的資料。
例如,您想查詢 1999 年入職的員工。在 SQL 中,您可以使用以下語句:
SELECT first_name
FROM employees
WHERE YEAR (hire_date) = 1999;在這個語句中:
SELECT first_name:檢索first_name列中的值。FROM employees:從employees表中獲取資料。WHERE YEAR(hire_date) = 1999:只考慮1999年入職的員工。
SQL 的構成要素 #
SQL 語句由稱為“標記”(token)的更小部分組成。這些就像英語句子中的單詞和標點符號。
以下是重要的標記型別:
字面量 (Literals) #
字面量是您放在 SQL 語句中的常量或實際值。
字串:用單引號括起來,如 'Anthony' 和 'Blue'。請注意,字串字面量是區分大小寫的。例如,'Anthony' 與 'anthony' 是不同的。
如果字串本身包含單引號,您可以用另一個單引號來轉義它,就像這樣:
'I''m Anthony'Code language: JavaScript (javascript)在字母 I 和 m 之間有兩個單引號字元。
數字:SQL 支援整數、小數和浮點數。數字字面量不加引號,例如 100 和 59.99。
布林值:即 true 和 false。
日期:日期字面量的格式為 ‘yyyy-mm-dd’,例如 '2000-12-31' 表示 2000 年 12 月 31 日。
時間:時間字面量的格式為 'hh:mm:ss',例如 '12:45:30'。
時間戳:時間戳同時包含日期和時間。時間戳字面量使用格式 'yyyy-mm-dd hh:mm:ss',例如 '2000-12-31 12:45:30'。
關鍵字 (Keywords) #
關鍵字是 SQL 中的保留字。它們有特殊的含義。常見的關鍵字有 SELECT、FROM、WHERE、CREATE、INSERT 等。
關鍵字不區分大小寫。按照慣例,我們將使用大寫來表示關鍵字,使其更加突出。
識別符號 (Identifiers) #
識別符號指代資料庫中的物件,如表、列、索引等。
表示式 (Combinations):由字面量、識別符號和運算子組合而成,能產生一個值。例如,salary * 1.10(計算加薪 10%)或 hire_date < '2023-01-01'(檢查入職日期是否在 2023 年 1 月 1 日之前)。
註釋 (Comments) #
註釋是您新增到 SQL 程式碼中的說明,用於解釋它為什麼執行特定任務。
資料庫會忽略註釋,但它們對於您和他人日後理解和排查問題非常有幫助。
SQL 支援兩種型別的註釋:
- 單行註釋:以兩個連字元(
--)開始,後面跟著註釋內容。 - 多行註釋:以
/*開始,以*/結束。介於兩者之間的文字都是註釋。
/*
find employees who
earn more than $50,000
*/
SELECT first_name
FROM employees
WHERE salary > 50000; -- USD currency Code language: SQL (Structured Query Language) (sql)學習 SQL 最好的方法就是實踐。
摘要 #
- SQL 是宣告式的,即您告訴資料庫您想要什麼,而不是怎麼做。
- 字面量是您在 SQL 語句中使用的常量。字面量是區分大小寫的。
- 關鍵字是具有特殊含義的保留字。關鍵字不區分大小寫。
- 識別符號是表名、列名等。
- 使用分號(;)來分隔兩個 SQL 語句。
- 使用註釋為 SQL 語句新增說明。