SQL 基本指令
這裡筆記的指令以 PostgreSQL 為主!
table, column, row
- table 是一張資料表,類似 excel 的 sheet
- column 是資料欄位,可以限定內容格式,比如必須是數字、不能超過 100 字等
- row 是一筆包含所有欄位的完整資料
| 商品 | 庫存 | 售價 |
|---|---|---|
| 行動電源 | 12 | 799 |
| 充電線 | 45 | 200 |
| 手機 | 3 | 19999 |
以程式的觀點來看,資料表應該會像是一個物件陣列,
column 代表物件的 key,row 則是一整個物件:
const table = [ { name: '行動電源', stock: 12, price: 799, }, { name: '充電線', stock: 45, price: 200, }, { name: '手機', stock: 3, price: 19999, },];CREATE
-- 建立資料表CREATE TABLE products ( name VARCHAR(100), price INTEGER, stock INTEGER,);INSERT
-- 新增資料INSERT INTO products (name, price, stock)VALUES ('手機殼', 1200, 50), ('耳機', 599, 82);SELECT
-- 查詢資料-- * 代表全部資料和全部欄位-- 可以使 row 只呈現部分欄位SELECT name, stockFROM products;AS
-- AS 可以改變查詢結果的 column 名稱SELECT name AS "商品名稱", stock AS "庫存"FROM products;WHERE
-- 條件篩選資料SELECT *FROM productsWHERE price < 1000;AND, OR
-- AND 篩選SELECT *FROM productsWHERE price < 1000 AND stock > 10;
-- OR 篩選SELECT *FROM productsWHERE price < 1000 OR stock > 10;IN, NOT IN, BETWEEN
-- IN 篩選SELECT *FROM productsWHERE name IN ('手機殼', '耳機');
-- NOT IN 篩選SELECT *FROM productsWHERE name NOT IN ('手機');
-- BETWEEN 篩選SELECT *FROM productsWHERE price BETWEEN 100 AND 1000;UPDATE
-- 更新指定欄位UPDATE productsSET price = price + 100;DELETE
-- 刪除資料DELETE FROM productsWHERE name = '手機';