SQL 語法

摘要:在本教程中,您將學習 SQL 語法,它能幫助您有效地編寫 SQL 語句。

SQL 語法入門 #

SQL(Structured Query Language,結構化查詢語言)是您用來與資料庫通訊的語言。

SQL 是一種宣告式語言。這意味著您告訴資料庫您想要什麼,而不是如何去獲取它。與其它程式語言相比,這一特性使得 SQL 非常容易學習。

基本的 SQL 語句結構包括動詞、主語和條件。

大多數 SQL 語句都遵循一個模式:

  • 動詞 (Action):是您希望資料庫執行的操作,例如 SELECTINSERTUPDATEDELETE
  • 主語 (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)

在字母 Im 之間有兩個單引號字元。

數字:SQL 支援整數、小數和浮點數。數字字面量不加引號,例如 100 和 59.99。

布林值:即 truefalse

日期:日期字面量的格式為 ‘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 中的保留字。它們有特殊的含義。常見的關鍵字有 SELECTFROMWHERECREATEINSERT 等。

關鍵字不區分大小寫。按照慣例,我們將使用大寫來表示關鍵字,使其更加突出。

識別符號 (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 語句新增說明。

測驗 #

本教程是否有幫助?
© .