# 11/25 每日任務 有一間廠商即將建置「**健身教練線上直播課平台**」 **其優點是:** - **小班制健身直播課制**:教練會在平台開課,學生前往教練開設的課程頁面報名,課程時間到了後,就可點擊課程直播室進行上課 - 堂數售價:每位健身教練的收費都一致,一堂 50 分鐘**小班制健身直播課**都是 200 元 #### 堂數組合包方案 - 7 堂組合包方案: - 價格:1,400 元 - 14 堂方案: - 價格:2,520 元 - 21 堂方案: - 價格:4,800 元 ## 需要必備的知識點 1. [postgres 函式](https://courses.hexschool.com/courses/20242/lectures/58295022) ## 額外知識補充 1. 下方的 `created_at`、`updated_at` 的 DEFAULT 是**預設值**意思,若是在建立資料時沒填寫的話不會報錯,而是會能放預設值 3. 下方的建立資料表,會需要用雙引號`"USER"`原因是,postgreSQL 的 user 是關鍵字,為了避免撞名所以需要加上雙引號 4. 在選取資料表時, 也請留意要加上雙引號,例如 `SELECT * FROM "USER"` 5. timestamp 也是一種資料格式(Data Type),主要是「時間格式」,範例為 `2024-11-24T17:42:04.452Z` ## 請先建立 users 資料表,再行答題 ```sql CREATE TABLE "USER" ( "id" uuid PRIMARY KEY NOT NULL DEFAULT (gen_random_uuid()), "name" varchar(50) NOT NULL, "email" varchar(320) UNIQUE NOT NULL, "role" varchar(20) NOT NULL, -- 角色,分別有 "USER"、"COACH" "created_at" timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP), "updated_at" timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP) ); ``` ## 題目 ### 第一大題:用戶資料,資料表為 `USER` **1\. 新增**:新增六筆用戶資料,資料如下: - 用戶名稱為 `李燕容`,Email 為 `lee2000@hexschooltest.io`,Role 為 `USER` - 用戶名稱為 `王小明`,Email 為 `wXlTq@hexschooltest.io`,Role 為 `USER` - 用戶名稱為 `肌肉棒子`,Email 為 `muscle@hexschooltest.io`,Role 為 `USER` - 用戶名稱為 `好野人`,Email 為 `richman@hexschooltest.io`,Role 為 `USER` - 用戶名稱為 `Q太郎`,Email 為 `starplatinum@hexschooltest.io`,Role 為 `USER` - 用戶名稱為 `透明人`,Email 為 `opacity0@hexschooltest.io`,Role 為 `USER` **2\. 修改**:用 Email 找到 `李燕容`、`肌肉棒子`、`Q太郎`,如果他的 Role 為 `USER` 將他的 Role 改為 `COACH` **3\. 刪除**:刪除 `USER` 資料表中,用 Email 找到 `透明人`,並刪除該筆資料 **4\. 查詢**:取得 `USER` 資料表目前所有用戶數量(提示:使用count函式) **5\. 查詢**:取得 `USER` 資料表所有用戶資料,並列出前 3 筆(提示:使用limit語法)