JS:資料庫設計與應用(二)

閱讀時間約 1 分鐘

※ SQL基本介紹

SQL(結構化查詢語言)是一種查詢語言(Query Language),用於對資料庫中的資料進行操作。透過SQL,我們可以執行以下操作:

  • 查詢資料
  • 更新資料
  • 刪除資料

※ SQL四個基本概念

  1. Table(表格):資料庫中的資料是以表格的形式儲存的。每個表格包含多個欄位和多筆資料。相同的資料會保存在一份類似表格的結構中。
  2. Column(欄位):表格中的每一列代表一個欄位。每個欄位都有一個名稱和資料類型,用來描述該欄位中的資料。相同類型的資料會放在相同的欄位中,例如一堆待辦事項。
  3. Row(列):表格中的每一行代表一筆資料。每一行包含了該表格所有欄位的資料。每一個待辦事項就稱作一個Row,也就是資料表裡面的一行。
  4. Constraint(約束)對欄位的一種限制,用於定義該欄位中的值所需遵守的規則。常用的約束包括:
  • Primary Key(主鍵):唯一標識表格中的每一行,不能有重複值,也不能為空。
  • Not Null(非空):確保欄位中的值不能為空。
  • Unique(唯一):確保欄位中的值是唯一的,不能有重複值。
  • Default(預設值):為欄位設定一個預設值,如果插入資料時沒有提供該欄位的值,則使用預設值。

※ 例子:一個有會員機制的TodoList系統

User Table

  • Table(表格)User–儲存會員。
  • Column(欄位):Id–每個user所對應的值(Primary Key)、name、email。
  • Row(列):每個Row代表一個使用者資料。

Todo Table

  • Table(表格)Todo–記錄所有待辦事項。
  • Column(欄位):user_id–每個待辦事項屬於哪個會員、title–每個待辦事項名稱、deadline–每個待辦事項完成時間。
  • Row(列):每個Row代表一個待辦事項。

※ 基本SQL指令

  • Create Database(創建資料庫)
CREATE DATABASE TodoList;
  • Create Table(創建資料表)
CREATE TABLE User (
id INT PRIMARY KEY,
name VARCHAR(255)
);
  • Insert(插入)
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);


  • Delete(刪除)
DELETE FROM table_name WHERE condition;
  • Update(更新)
UPDATE table_name 
SET column1 = value1, column2 = value2
WHERE condition;
  • Select(查詢)
SELECT column1, column2, ...
FROM table_name;
  • Select All(查詢所有)
SELECT * FROM Customers;


    全端網頁開發專業知識分享
    留言0
    查看全部
    發表第一個留言支持創作者!
    ※ 資料庫基本概念與操作 目標: 瞭解資料庫的概念和為什麼需要資料庫 瞭解SQL的概念與進行增刪改查操作 能夠自行安裝及搭建MySQL資料庫 能夠使用MySQL Workbench連線到MySQL資料庫並進行基本操作 ※ 工程中的應用 目標: 能夠根據業務邏輯需求設計Schema
    ※ 整個SQL課程過程 *如何從資料庫拿資料開始: • SELECT :從資料庫拿資料。 • ORDER BY :排序SELECT的結果。 • JOIN :連結各個TABLE的 資訊,發揮關聯式資料庫的優勢。 • GROUP BY :對資料庫的資料做加總的AGGREGATE FUNCTIO
    ALTER TABLE: 這個命令是用來修改資料表的結構,例如新增、修改或刪除欄位。它針對的是資料表(table)本身的結構,而不是具體的記錄(record)。 INSERT 和 UPDATE: 這兩個命令是用來操作具體的記錄(record)。INSERT 用於新增記錄,而 UPDATE 用於修改
    ※ 功能: 刪除表格中的資料。 ※ 語法: DELETE ON DELETE CASCADE DELETE JOIN ※ DELETE • 語法 : DELETE FROM table_name WHERE condition FROM 後面接上表格的名字:這是想要刪除資料的表
    ※ 為什麼我們需要 Transaction? 當我們談到 Transaction(交易)時,指的是一組不可分割的 SQL 操作。這些操作結果只能成功或失敗,以確保資料庫的一致性和完整性。Transaction 是資料庫操作中的一個「邏輯單位」,包含多個操作步驟。如果其中任何一個步驟失敗,整個 Tr
    已經存在在table裡面的那些record做更新。 ※ 語法 UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, … [WHERE
    ※ 資料庫基本概念與操作 目標: 瞭解資料庫的概念和為什麼需要資料庫 瞭解SQL的概念與進行增刪改查操作 能夠自行安裝及搭建MySQL資料庫 能夠使用MySQL Workbench連線到MySQL資料庫並進行基本操作 ※ 工程中的應用 目標: 能夠根據業務邏輯需求設計Schema
    ※ 整個SQL課程過程 *如何從資料庫拿資料開始: • SELECT :從資料庫拿資料。 • ORDER BY :排序SELECT的結果。 • JOIN :連結各個TABLE的 資訊,發揮關聯式資料庫的優勢。 • GROUP BY :對資料庫的資料做加總的AGGREGATE FUNCTIO
    ALTER TABLE: 這個命令是用來修改資料表的結構,例如新增、修改或刪除欄位。它針對的是資料表(table)本身的結構,而不是具體的記錄(record)。 INSERT 和 UPDATE: 這兩個命令是用來操作具體的記錄(record)。INSERT 用於新增記錄,而 UPDATE 用於修改
    ※ 功能: 刪除表格中的資料。 ※ 語法: DELETE ON DELETE CASCADE DELETE JOIN ※ DELETE • 語法 : DELETE FROM table_name WHERE condition FROM 後面接上表格的名字:這是想要刪除資料的表
    ※ 為什麼我們需要 Transaction? 當我們談到 Transaction(交易)時,指的是一組不可分割的 SQL 操作。這些操作結果只能成功或失敗,以確保資料庫的一致性和完整性。Transaction 是資料庫操作中的一個「邏輯單位」,包含多個操作步驟。如果其中任何一個步驟失敗,整個 Tr
    已經存在在table裡面的那些record做更新。 ※ 語法 UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, … [WHERE
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    誠然,財務數據能夠直觀反映一個企業過去的經營成效,但有時候單純的財務數字也可能產生完全相反的結論,誤導受眾。市場投資而言,還是應該通過分析和理解其背後的原因和趨勢來進行價值判斷。   比如說,JS環球生活可能就面臨這樣的“反差”。   從核心數據上看,2023年上半年,JS環球生活持續經營業
    Thumbnail
    提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
    Thumbnail
    Vue.js 基本介紹 Vue.js 是個漸進式 JavaScript 框架 (Progressive JavaScript Framework),用於建立用戶界面。被設計成逐步增強的框架,可輕鬆整合到現有項目中,或從頭構建新的應用程序。 Vue.js 的特點 1. 輕量級:Vue.js 的核心庫非
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    誠然,財務數據能夠直觀反映一個企業過去的經營成效,但有時候單純的財務數字也可能產生完全相反的結論,誤導受眾。市場投資而言,還是應該通過分析和理解其背後的原因和趨勢來進行價值判斷。   比如說,JS環球生活可能就面臨這樣的“反差”。   從核心數據上看,2023年上半年,JS環球生活持續經營業
    Thumbnail
    提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
    Thumbnail
    Vue.js 基本介紹 Vue.js 是個漸進式 JavaScript 框架 (Progressive JavaScript Framework),用於建立用戶界面。被設計成逐步增強的框架,可輕鬆整合到現有項目中,或從頭構建新的應用程序。 Vue.js 的特點 1. 輕量級:Vue.js 的核心庫非