Database

SQL 筆記:刪除資料 DELETE WHERE

DELETE FROM 語法 DELETE FROM $表名稱 但這樣寫會有個問題,一般較少這樣寫...原因是 「會刪除全部的 row 欄位」 DELETE FROM WHERE 語法 但要注意,一般不會如上述這樣寫,因為缺少了「WHERE」來篩選目標對象,會導致表中的所有 row 紀錄資料都將被刪除! 一般還是會如下加上 WHERE 來指定特定目標刪除 row 資料 DELETE FROM $表名稱 WHERE $目標對象的條件; 刪除指定的使用者資料 假設我們有一張 users 資料表如下: id name email 1 Alice alice@mail.com 2 Bob bob@example.
SimonAllen

SQL 筆記:查詢資料 SELECT FROM

SELECT 是最常用的入門 SQL 語法,顧名思義,他是用來從資料庫選取資料,我們通常將這個選取的行為稱之為查詢 (query)。資料庫依 SELECT 查詢的要求會返回一個 結果資料表 (result table),我們通常稱之為 資料集 (result-set)。 SELECT 語法 SELECT $欄位 FROM $表格; 例如 SELECT column1, column2, ... FROM table_name; 若需要一次選取全部欄位,可以用 * 字號 SELECT * FROM table_name; 可參考 w3schools 網站 若目前 DB 有個表格叫做 Customers ,其欄位、資料如下圖 想取出如圖中 Customers 表格全部資料可以這樣下 SELECT
SimonAllen

SQL 筆記:限制篩選 LIMIT OFFSET

要限制選取的部分資料中,回傳回來的行數目,我們會使用到 LIMIT 跟 OFFSET 這兩個功能。 SELECT $column_list FROM $table_name ORDER BY $column_list LIMIT $row_count OFFSET $offset; * 在 LIMIT row_count 檢查回傳回來的「欄位的數目 (row_count)」。 * OFFSET offset 會在開始回傳資料前就跳過被標註 offset 的這一列。 在上面的範例中, OFFSET 不是必要的,如果把這一句刪掉,那麼這段查詢會回傳的是經由第一行 SELECT 選取出的,紀錄行的「行數目」。 當使用 LIMIT 語法的時候,需要確保資料的順序是正確的,因此使用時,通常也會伴隨著
SimonAllen

SQL 筆記:邏輯運算子 SELECT WHERE LIKE

https://www.w3schools.com/sql/sql_like.asp LIKE 語法 SELECT $column1, $column2, ... FROM $table_name WHERE $columnN LIKE $pattern; LIKE 這的指令可搭配 WHERE 子句一起使用,可用在依照一特定模式為相似條件來搜尋資料表中的資料。最常見的兩種作法為搭配 % 和 _ 一起使用。 * %:代表零個、一個或多個字符,還有字符前後的位置。 * _:代表一個、單個字符位置,兩個 _ 就是兩個字符,三個 _ 就是三個字符,已此類推。 可以想像成當我們要搜尋一個模糊的範圍,或是只知道部份條件時我們可以用 % 和 _ 來代表我們不確定的區域。 例如: * 想找 A 開頭的國家 - WHERE CountryName LIKE
SimonAllen

SQL 筆記:邏輯運算子 SELECT WHERE IN

https://www.w3schools.com/sql/sql_in.asp IN運算子是多個 OR 條件的簡寫,可以允許我們在一個子句中指定多個值 WHERE。 IN 語法 SELECT $column_name1, $column_name2, $column_name3,... FROM $table_name WHERE $column_name IN ($value1, $value2, ...); 或 SELECT $column_name1, $column_name2, $column_name3,... FROM $table_name WHERE column_name IN (SELECT STATEMENT); 使用情境 IN運算子理解很簡單,
SimonAllen

SQL 筆記:邏輯運算子 SELECT WHERE BETWEEN

https://www.w3schools.com/sql/sql_between.asp BETWEEN運算子顧名思義,是用來查找「特定範圍」,例如「時間」或「數值」這種可以找特定範圍區間就很好用。 BETWEEN 語法 SELECT $column_name1, $column_name2, $column_name3, ... FROM $table_name WHERE $column_name BETWEEN $value1 AND $value2; 使用情境 從 Products 表查找 Price 價錢在 10 到 20 之間的資料集 SELECT * FROM Products WHERE Price
SimonAllen

SQL 筆記:排序查詢結果 SELECT ORDER BY

在 SQL 中,一般從資料表篩選資料的時候,如果沒有指定特別的排序順序,會無法預測資料的結果會按照什麼樣的順序排列。 即使是相同的 SELECT 指令,每次執行的時候可能後會出現不同的結果。但在實務應用中,如果沒有按照排序整理資料,會讓資料變得難以使用。這時,我們就會需要 ORDER BY 這個重要的子句來協助我們排序。 這時可以使用 ORDER BY 對搜尋結果進行排序。在預設情況下,使用 ORDER BY 的排序結果為 ASC 升冪排列,項目會由低至高遞增出現,如果要降冪排列可使用 DESC 的關鍵字。 舉例來說,若要以年份排序: * 升冪排列,可寫成 ORDER BY years ASC,或是是忽略不寫:ORDER BY years; * 降冪排列,可寫成 ORDER BY years
SimonAllen