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

閱讀時間約 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的風險

    全端網頁開發專業知識分享
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    ※什麼是資料 : 說明: 「資料」(information/data) 是網路應用程式的核心。 使用者分享的照片、電商販賣的產品,或是搜索引擎提供的餐廳評價都是資料。 主要特徵: 生活中任何基本的事實 (fact) 或是值 (value) 都可以被稱為資料。例如:你的名字、你的生日。 因
    建立一個屬於自己喜愛球員的清單。 ※ 專案開發環境 架設 Node.js 伺服器。 用 Express.js 進行全端開發。 用 MongoDB 資料庫。 ※ 專案開發技術 使用 Express handlebars,為球員清單做出佈局和局部樣板
    緣起 在電子廠做了18年,從助理技術員變成高級技術員。原本只是個操作機台的檢驗員,目前的工作是負責品質管理。18年來也曾動過轉職的念頭,參加國家考試的高考、地方特考,結果就是名落孫山。為了增加自己的專業能力,提高自己的履歷能被看見的機會,也自費去學習專案管理和ISO 9001:2015 品質管理系
    隨著JavaScript課程的學習的最後階段, Twitter專案不只考驗平時課程所學的技能,也讓我們提前預習在職場上與人合作完成專案的經驗。
    為何會選擇記帳程式做專案? 網路上有很多各種記帳方式,用Excel方式來記帳士很多人熟悉的作法。但既然我已經學習了JavaScript這個程式語言,就想試看看如何藉由程式語言寫出一個簡易的記帳程式。 技術選擇方面 選擇Node.js是因為他是一個可以讓JavaScript 執行環境;我可以直接在電腦
    1.什麼是電腦: 電腦是透過程式碼的指令,經由「輸入(input)→儲存(storage)/處理(processing)→輸出(output)」的流程,完成人類需要的結果。 2. 什麼是程式?有兩種說法。 第一種說法:就是運行在電腦上的一種指令,這種說法描述了程式的特質與概念,也就是說「運行在電腦上
    ※什麼是資料 : 說明: 「資料」(information/data) 是網路應用程式的核心。 使用者分享的照片、電商販賣的產品,或是搜索引擎提供的餐廳評價都是資料。 主要特徵: 生活中任何基本的事實 (fact) 或是值 (value) 都可以被稱為資料。例如:你的名字、你的生日。 因
    建立一個屬於自己喜愛球員的清單。 ※ 專案開發環境 架設 Node.js 伺服器。 用 Express.js 進行全端開發。 用 MongoDB 資料庫。 ※ 專案開發技術 使用 Express handlebars,為球員清單做出佈局和局部樣板
    緣起 在電子廠做了18年,從助理技術員變成高級技術員。原本只是個操作機台的檢驗員,目前的工作是負責品質管理。18年來也曾動過轉職的念頭,參加國家考試的高考、地方特考,結果就是名落孫山。為了增加自己的專業能力,提高自己的履歷能被看見的機會,也自費去學習專案管理和ISO 9001:2015 品質管理系
    隨著JavaScript課程的學習的最後階段, Twitter專案不只考驗平時課程所學的技能,也讓我們提前預習在職場上與人合作完成專案的經驗。
    為何會選擇記帳程式做專案? 網路上有很多各種記帳方式,用Excel方式來記帳士很多人熟悉的作法。但既然我已經學習了JavaScript這個程式語言,就想試看看如何藉由程式語言寫出一個簡易的記帳程式。 技術選擇方面 選擇Node.js是因為他是一個可以讓JavaScript 執行環境;我可以直接在電腦
    1.什麼是電腦: 電腦是透過程式碼的指令,經由「輸入(input)→儲存(storage)/處理(processing)→輸出(output)」的流程,完成人類需要的結果。 2. 什麼是程式?有兩種說法。 第一種說法:就是運行在電腦上的一種指令,這種說法描述了程式的特質與概念,也就是說「運行在電腦上
    你可能也想看
    Google News 追蹤
    Thumbnail
    這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
    Thumbnail
    在進行SQL查詢邏輯更改時,需要適當地使用SubQuery和join來達到新的排序需求。本文將介紹原本的撈取邏輯、需求以及如何使用SubQuery來解決新的排序需求。
    Thumbnail
    利用文字紀錄,明確寫下自己的採購項目......
    Thumbnail
    軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
    Thumbnail
    在這個星光閃爍的數據宇宙中,SQL是一把鑰匙,開啟了通往知識寶庫的大門。想像一下,每一條SELECT語句都像是一段魔法咒語,喚醒沉睡在數據庫深處的信息。今天,我們就要一起踏上這段探秘之旅,將揭開SQL基本查詢指令的神秘面紗,學習如何巧妙地與數據對話。
    Thumbnail
    本文介紹了在 SQL Server 中 Store Procedure 的使用與執行,以及學習 Store Procedure 的心得與建議。
    Thumbnail
    在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
    Thumbnail
    這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
    Thumbnail
    在Dcard有人求救一個問題:想要將layer與panel的資料提出出來,如下圖。 這個題目是很經典的需求,就是多條件查找,多條件查找有蠻多種不同的解決方法,甚至版本不同解法也是天壤之別哦。 準備動作 在寫函數之前,記得要先觀察一下我們想要提取的資料有什麼樣的規則,可以發現A欄中只
    Thumbnail
    這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
    Thumbnail
    在進行SQL查詢邏輯更改時,需要適當地使用SubQuery和join來達到新的排序需求。本文將介紹原本的撈取邏輯、需求以及如何使用SubQuery來解決新的排序需求。
    Thumbnail
    利用文字紀錄,明確寫下自己的採購項目......
    Thumbnail
    軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
    Thumbnail
    在這個星光閃爍的數據宇宙中,SQL是一把鑰匙,開啟了通往知識寶庫的大門。想像一下,每一條SELECT語句都像是一段魔法咒語,喚醒沉睡在數據庫深處的信息。今天,我們就要一起踏上這段探秘之旅,將揭開SQL基本查詢指令的神秘面紗,學習如何巧妙地與數據對話。
    Thumbnail
    本文介紹了在 SQL Server 中 Store Procedure 的使用與執行,以及學習 Store Procedure 的心得與建議。
    Thumbnail
    在用 QUERY 查詢資料時,你曾遇過在 WHERE 寫很多個 OR 的狀況嗎?有個更簡單好用的寫法推薦給你,來瞧瞧!
    Thumbnail
    這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
    Thumbnail
    在Dcard有人求救一個問題:想要將layer與panel的資料提出出來,如下圖。 這個題目是很經典的需求,就是多條件查找,多條件查找有蠻多種不同的解決方法,甚至版本不同解法也是天壤之別哦。 準備動作 在寫函數之前,記得要先觀察一下我們想要提取的資料有什麼樣的規則,可以發現A欄中只