SQL 基本指令

這裡筆記的指令以 PostgreSQL 為主!

table, column, row

  • table 是一張資料表,類似 excel 的 sheet
  • column 是資料欄位,可以限定內容格式,比如必須是數字、不能超過 100 字等
  • row 是一筆包含所有欄位的完整資料
商品庫存售價
行動電源12799
充電線45200
手機319999

以程式的觀點來看,資料表應該會像是一個物件陣列,
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,
  stock
FROM
  products;

AS

-- AS 可以改變查詢結果的 column 名稱
SELECT
  name AS "商品名稱",
  stock AS "庫存"
FROM
  products;

WHERE

-- 條件篩選資料
SELECT
  *
FROM
  products
WHERE
  price < 1000;

AND, OR

-- AND 篩選
SELECT
  *
FROM
  products
WHERE
  price < 1000
  AND stock > 10;

-- OR 篩選
SELECT
  *
FROM
  products
WHERE
  price < 1000
  OR stock > 10;

IN, NOT IN, BETWEEN

-- IN 篩選
SELECT
  *
FROM
  products
WHERE
  name IN ('手機殼', '耳機');

-- NOT IN 篩選
SELECT
  *
FROM
  products
WHERE
  name NOT IN ('手機');

-- BETWEEN 篩選
SELECT
  *
FROM
  products
WHERE
  price BETWEEN 100
  AND 1000;

UPDATE

-- 更新指定欄位
UPDATE
  products
SET
  price = price + 100;

DELETE

-- 刪除資料
DELETE FROM
  products
WHERE
  name = '手機';