SQL 語法 Syntax
讓我們先來聊聊組成 SQL 語法的元素有什麼。
資料表 (Database Tables)
資料庫中最重要的物件就是資料表 (table),資料庫由一個或一個以上的資料表所構成,每個資料表名稱在資料庫中都是唯一的,資料表中每一直行 (column) 稱之為欄位,每個欄位都有其資料型態 (data type),由不同欄位所組成的橫列 (row),稱之為記錄 (record),我們舉一個叫做 "customers" 的資料表作為例子:
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
此資料表共包含 2 筆記錄,5 個欄位 (C_Id, Name, City, Address, Phone)
SQL 敘述句 (Statements)
我們利用 SQL 敘述句來跟資料庫溝通、下達指令,SQL 語言是由命令 (commands) 、子句 (clauses) 、運算子 (operators) 及 函數 (functions) 所組成,通常一個 SQL 敘述句由一段命令句開始描述您要對資料庫要求的動作,接著可能會接著條件語句,最後以分號 ";" 結束:
SELECT * FROM customer;
上面這條 SQL 敘述句表示從 customer 資料表取出所有資料。
select * from customer;
和上例是相同的結果。什麼是命令 (Commands)
建立新的資料庫、資料表、欄位及、索引等,或建立查詢表、排序、過濾資料、查詢、修改、新增及刪除資料等動作。(即 CREATE、DROP、ALTER、SELECT、INSERT、UPDATE、DELETE 等命令)
什麼是子句 (Clauses)
子句是用來設定及操作你的 SQL query,例如:
子句 | 說明 |
---|---|
FROM | 指定作用的資料表 |
WHERE | 設定查詢條件 |
GROUP BY | 設定分組條件 |
ORDER BY | 設定輸出的排序 |
什麼是運算子 (Operators)
運算子用來幫助 SQL 語句處理數值、字串或進行邏輯運算及比較條件。
什麼是函數 (Functions)
SQL 語言內建許多函數可以直接在 SQL 語句裡面使用,像是取得某欄位加總後數值、取得某欄位內最大或最小值等等。
SQL 敘述句的書寫習慣
將所有的執行語句中的 SQL 關鍵字大寫是一個良好的 SQL 書寫習慣,這會幫助你更輕易的去檢視你的 SQL 語法。
此外,你可以將較長的 SQL 語句拆成多行書寫,這會讓你比較容易閱讀!
SELECT column_one, column_two
FROM table_name
WHERE table_id = 123;