後端技術考古題-資料庫篇(上)

更新於 發佈於 閱讀時間約 4 分鐘

※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。

  • SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。

語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為 "從哪拿"。

SELECT table_column1, table_column2, table_column3... 
FROM table_name
  • SELECT *:一次取得整張資料表裡所有的資料。

※ 避免使用 SELECT *:因為一次取得整張資料表會比較耗費系統資源。

  • WHERE:使用 WHERE 可以限制查詢的範圍與條件。

※ 語法:

SELECT column1, column2, ...
FROM table_name
WHERE condition
WHERE: 用於指定條件的子句。
※ condition: 描述了檢索的條件。
  • CREATE:是一個用於創建新數據庫對象(如表、索引、視圖等)

※ 語法:

CREATE TABLE "表格名"
("欄位 1" "欄位 1 資料種類",
"欄位 2" "欄位 2 資料種類",
... )
  • UPDATE:更新現有資料表中的資料我們就會需要用到 UPDATE。

※ 語法:

UPDATE table_name 
SET column1=value1, column2=value2, column3=value3···
WHERE some_column=some_value
  • DELETE :用來刪除資料表中的資料可以選擇性地使用 WHERE 子句指定刪除的條件。

※ 語法:

DELETE FROM customers
WHERE city = 'New York'
這個語句告訴數據庫刪除 customers 表中所有 city 列值為 'New York' 的行。



※ 主題關鍵字

  • . primary key:主鍵。

※ 功能:

  1. 代表一筆資料表中的一筆資料需要具備「唯一性」和「持有性」的屬性。
  2. 每個資料表都必須要有一個主鍵的欄位。
  • foreign key:外鍵。

※ 功能:用來建立不同資料之間的關係,而外鍵一定是其他資料表的主鍵。

  • relation:關係。

※ 功能:指一個實體在另一個實體之間關聯的方式。

※ 關係:

  1. 一對一關係:一筆資料只會對應到最多一筆資料。

例:在一個購物網站裡,一個使用者只會有一個購物車,該購物車也只會被一個使用者所擁有。

raw-image


  1. 一對多關係:一筆資料 A 會對應到多筆資料 B,但資料 B 反過來卻只會對應到一筆資料 A。

例:在一個購物網站的一個商品分類裡會有多個商品,而一個商品只會屬於一個分類。

raw-image
  1. 多對多關係:一筆資料 A 會對應到多筆資料 B,而一筆資料 B 也會對應到多筆資料 A。

例:一個使用者會參與多個活動,而一個活動也會有多個使用者參與。

raw-image


  • SQL Injection:SQL注入式攻擊,是一種常見的駭客攻擊方式駭客會在設計不良的程式中夾帶惡意指令透過修改SQL語句改變語意,進而達到對資料庫的惡意攻擊。

例:以一個登錄表單來說,使用者在用戶名和密碼字段中輸入其憑證。

SELECT * FROM users 
WHERE username = 'input_username'
AND password = 'input_password'

如果攻擊者在用戶名字段中輸入 input_username' OR '1'='1'; --

SELECT * FROM users 
WHERE username = 'input_username' OR '1'='1'; --'
AND password = 'input_password'

結果使得條件總是成立,並且注入的 -- 部分注釋掉原始查詢的其餘部分。導致,攻擊者可能成功登錄,而不知道有效的用戶名和密碼。因此,網站中只要有提供輸入的欄位,就有SQL injection的風險

留言
avatar-img
留言分享你的想法!
avatar-img
奧莉薇走在成為後端工程師之路上
18會員
141內容數
全端網頁開發專業知識分享
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 場景: 即時聊天應用: 設計一個支持多房間功能的即時聊天平台,像 WhatsApp、LINE或Facebook Messenger,提供文字、語音、視訊聊天功能,方便管理群組聊天。 功能亮點:加入特別功能,例如可加入多房間功能、使用者名單、表情符號支持、文件分享或訊息已讀未讀狀態。 展示
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/26
※ 先建立基本的express後端服務: 1.建立新資料夾:Socket mkdir socket 2.進入資料夾:Socket cd ​bsocket 3. 安裝 Experss 到專案中 npm init -y //初始化專案,建立 package.json 檔 npm insta
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
2025/04/10
※ 什麼是 Socket.io:一個基於傳統 WebSocket API 之上的框架。 ※ Socket.io常用功能: Custom Events:在 Socket.io 中,開發者可以創建自己的事件來處理特定的功能或需求。 Rooms:分組的功能。每個連接的用戶(或稱為 socket)可
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
※ 為什麼需要 Subquery? 當⼀個任務需要多個 Query 完成任務,可以使⽤ Subquery 把多個 Query 合併成⼀個 Query。 當我們在進行SQL查詢時,每次查詢都需要在Web Server和資料庫之間來回傳遞資料。這個過程會產生網路延遲,特別是當兩者之間的物理距離較遠時
Thumbnail
※ 為什麼需要 Subquery? 當⼀個任務需要多個 Query 完成任務,可以使⽤ Subquery 把多個 Query 合併成⼀個 Query。 當我們在進行SQL查詢時,每次查詢都需要在Web Server和資料庫之間來回傳遞資料。這個過程會產生網路延遲,特別是當兩者之間的物理距離較遠時
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
在工作情境中手動執行SQL語法更新中文字時,有時會遇到中文字顯示問號(?)的情況。這篇文章將介紹如何解決手動執行SQL語法時造成中文顯示問號(?)的方法。
Thumbnail
在工作情境中手動執行SQL語法更新中文字時,有時會遇到中文字顯示問號(?)的情況。這篇文章將介紹如何解決手動執行SQL語法時造成中文顯示問號(?)的方法。
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為
Thumbnail
※ 基本操作:SQL 語法,SELECT, WHERE, CREATE, UPDATE, DELETE。 SELECT:從資料庫中或資料表中指定要選擇的欄位中取得資料,稱之為查詢 (query)。 ※ 語法:要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為
Thumbnail
隨著生活和工作複雜度的提高,我們面臨著在多個平台和網站上收集資訊的挑戰。因此,掌握整理資訊的技巧,以更有序的方式進行管理和追蹤,是值得思考的議題。本篇文章,我們將分享 Save to Notion,讓你輕鬆將網頁內容分門別類地儲存進 Notion 頁面,有助於你建立一個高效且有組織性的資訊管理系統。
Thumbnail
隨著生活和工作複雜度的提高,我們面臨著在多個平台和網站上收集資訊的挑戰。因此,掌握整理資訊的技巧,以更有序的方式進行管理和追蹤,是值得思考的議題。本篇文章,我們將分享 Save to Notion,讓你輕鬆將網頁內容分門別類地儲存進 Notion 頁面,有助於你建立一個高效且有組織性的資訊管理系統。
Thumbnail
如果你 WHERE 的條件需要常常更動,但每次都要進去 QUERY 所在的儲存格編輯語法,實在是有點太麻煩了?但其實有個小技巧,可以讓 QUERY 更新得更輕鬆。來看看吧!
Thumbnail
如果你 WHERE 的條件需要常常更動,但每次都要進去 QUERY 所在的儲存格編輯語法,實在是有點太麻煩了?但其實有個小技巧,可以讓 QUERY 更新得更輕鬆。來看看吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News