【後端】資料庫簡介與SQL基礎語法
這兩天報名了六角學院的後端工程師體驗營,今天馬上把預習影片看完,來寫筆記了!!
什麼是資料庫
日常生活中我們會使用到非常多的資料庫,比方說去超市買菜,每個商品條碼的背後都是一個資料庫,紀錄了商品的價格、庫存、折扣是多少等資料,其實它就像是一個Excel表,以統一的格式進行紀錄,並且透過系統(伺服器)去管理這些資料。
就拿我之前賣餅乾時候計算包裝的試算表來說明吧,這裡每一橫列(row)都是一筆資料(紅色框框),每一直欄(column)都是一個屬性(綠色框框),記載這筆資料的某個訊息。
其實就跟Notion的Database是一樣,每一筆資料都可以設定多個不同的屬性,並且透過表格的方式可以看得出差異、能夠做比較。
如果單獨把Notion的其中一筆資料拉出來看,就會長這樣,這樣應該就很容易感受得出來屬性與資料的差異在哪裡了。不同於課表這類一般的表格,資料庫的資料是一筆一筆向下新增,每筆資料都會共用一樣的這些屬性,而屬性可以有多個。
什麼是SQL
SQL(Structured Query Language) 中文稱作結構化查詢語言,是用來管理資料庫的程式語言
資料表建立與寫入
如何建立資料表
建立資料表可以使用CREATE TABLE語法加上自訂義資料表名稱,接著用括號將欄位(columns)制定出來
1 | -- 建立 資料表 自訂名稱(屬性 資料型別Type,屬性 資料型別Type); |
如何寫入資料
建立好資料表之後,我們就可以開始來新增一筆一筆的資料,使用INSERT INTO 加上自訂資料表的名稱來進行寫入,請看下方程式碼
1 | -- 選擇要寫入的資料表(選擇要寫入的屬性欄位),注意順序 |
如何查找資料
建立好資料之後當然要先確認一下資料有沒有正確被記錄,所以我們使用SELECT語法來查看
1 | -- 選擇 萬用字元在這邊表示所有的屬性 然後透過FROM指定要查詢的資料表 |
1 | --如果只要查詢部分的資料,可以把萬用字元替換成屬性名稱 |
如何設定屬性的別稱
一樣使用SELECT,先選擇我們要的爛位,並透過AS制定別稱,最後再指向我們要修改的資料表。
1 | SELECT |
AS 語法也可以用來進行運算
1 | SELECT |
但是這邊制定的別稱以及運算結果,只會用在該次搜尋上,並不會把運用AS計算之後的結果記錄回資料表。
如何篩選資料
使用WHERE語法可以進行資料的篩選
1 | SELECT * FROM products -- 一樣要先指定資料表 |
使用比較運算子篩選資料
一樣是使用剛剛搜尋資料的SELECT和WHERE語法,再加上一些條件就可以更精確地來搜尋我們要的資料
比方說透過比較運算子,我們可以查出單價小於40元的包裝
1 | SELECT * FROM products -- 一樣要先指定資料表 |
使用邏輯運算子篩選多個條件
如果有很多個條件要同時符合的話,可以使用邏輯運算子
1 | SELECT * FROM products -- 一樣要先指定資料表 |
如果2個條件只要滿足其1,可以使用OR
1 | SELECT * FROM products -- 一樣要先指定資料表 |
集合與範圍運算子
BETWEEN
可以查找介於兩個範圍之間的紀錄
1 | SELECT * FROM products -- 一樣要先指定資料表 |
IN()
可以查找所有符合的項目
1 | SELECT * FROM products -- 一樣要先指定資料表 |
NOT IN()
可以排除所有符合的項目
1 | SELECT * FROM products -- 一樣要先指定資料表 |
如何更新資料
使用UPDATE 可以進行資料的更新
1 | UPDATE products --這邊不需要加上FROM |
看到下方的結果就知道更新囉,但還是可以再執行一次SELECT確認一下
如何刪除資料
使用DELETE 可以進行資料刪除
單筆資料刪除法
1 | DELETE FROM products --這邊就加上FROM囉 |
條件刪除法
搭配條件式可以進行多筆資料的刪除
1 | DELETE FROM products |
多個條件刪除法
刪除多個條件的方法也跟查詢多個條件的方法是一樣的
1 | SELECT * FROM products -- 一樣要先指定資料表 |
那麼今天的筆記就到這邊,就這樣看影片、寫筆記竟然也用掉了一天的時間,太可怕了,我要繼續去完成其他的作業,下次見囉。