如何入門資料庫? 用Excel的知識,快速入門資料庫

相信大多數人都有用過Excel,即便現在沒用過,在未來也都會使用到,不同平台也有相同於Excel的軟體,比如在Mac上有Numbers、Google上有試算表,這些都與Excel有相同的功能。

有了Excel的知識,我們學習資料庫(關聯式資料庫)就不難了,因為資料庫可說是Excel的指令版,現在讓我們來看怎麼透過Excel的知識轉換為資料庫的知識吧。

 

image/svg+xml如何入⾨資料庫 ? Excel 的知識,快速入⾨資料庫 ⾸先,我們來明確定義下列幾項東⻄:活⾴簿 xlsx 、⼯作表 Sheet 、欄 Column 、列 Row 、類別 Type 。以殭屍出租系統為例。 活⾴簿 .xlsx ⼯作表 Sheet Column & Row 類別 Type 雖然 Excel 可以⾃動判斷你輸的是什麼資料,但你也可以明確的使⽤類別 Type 來決定 資料的類別,好處是可以幫我們以正確的格式來顯⽰資料與運算,如我們的 ' 出租時間 ' 應該有時間部份才是。 轉換 ' 活⾴簿 .xlsx' ' 資料庫 Database' 轉換 ⼯作表 Sheet' 表格 Table' ,並於表格 Table 中的加入欄 Column Excel 中,你可以隨意的打上你要的資料,隨意的修改與刪除資料。但在資料庫中就不同了,你必 須使⽤⽤ SQL(Structured Query Language ,結構化查詢語⾔ ) 來完成。 新增 INSERT INSERT INTO Zombie ( Name , Age, IsVegetarian, LastRentTime) VALUES ( ' 瘋狂傑克 ' , 3 . 3 , 0 , NULL ); INSERT INTO Zombie ( Name , Age, IsVegetarian, LastRentTime) VALUES ( ' 懶懶瑪琍 ' , 10 , 1 , NULL ); INSERT INTO Zombie ( Name , Age, IsVegetarian, LastRentTime) VALUES ( ' ⼤提姆 ' , 5 , 0 , 2021/10/22 18:50 ' ); INSERT INTO Zombie ( Name , Age, IsVegetarian, LastRentTime) VALUES ( ' 史提夫 ' , 2 , 0 , 2021/5/1 8:00 ' ); INSERT INTO Zombie ( Name , Age, IsVegetarian, LastRentTime) VALUES ( ' 功夫李 ' , 1 , 1 , NULL ); 查詢 SELECT SELECT ID, Name , Age, IsVegetarian, LastRentTime FROM Zombie; 修改 UPDATE UPDATE Zombie SET Name = ' 瘋狂傑克 33' , LastRentTime = '2021/10/25 7:00’ WHERE ID = 1 ; 刪除 DELETE DELETE FROM Zombie WHERE ID = 5 ; 到這邊可以說你只要會 Excel MySQL 的基本功能你已經會使⽤了,是不是很簡單 ~ 後紀: Excel 有許多功能,如篩選、排序等,這些資料庫也可以辦到,讓我 們期待資料 MySQL 的程式卡課程吧。 也歡迎隨時查看最新的程式卡課程,我們會持續推出最新的程式卡課程。 https://coding104.blogspot.com/p/blog-page_28.html 1. 讓我們來複習⼀下 Excel 1. 當你開啟⼀個新的 Excel 檔後,另存檔案時,你會得到⼀ 個「 活⾴簿 xlsx 」,在此取名為 殭屍出租系統 .xlsx’ 2. 接著,是⼯作表 Sheet ,因 為要放的是殭屍資料,所以我們 直接改名為 殭屍資料 ' 3. 接著,我們有個給每個欄 Column ⼀個標題,⽤來表⽰我 們要放資訊為何。編號、名字、變異年份、是否為素食者與 最後出租時間是我們定義的欄 Column 4. ⽽列 Row 就是我們的每⼀筆殭屍的資料,在此輸入 5 筆資料。 5. 選取整欄 Column ,然後 按右鍵,選儲存格。 6. 然後選取 ' ⽇期 ' 中的⽇期加 24 ⼩時制的格式。 7. 按確定後,你會發現 ' 出租時間 ' 確的顯⽰了資料,其有時間與⽇期。 9. 接下來依序對每欄作類別 Type 的設定。 編號為整數,選數值,⼩數位數為 0 10. 名字為⽂字。 11. 變異年份為⼩數位數 1 位的數值。 12. 最後是是否為素食者,為布林值 TRUE FALSE ,雖然沒有特定的類別可以選,所 以選通⽤格式。但 Excel 還是會認得這是布 林值,⾃動幫你判定為 TRUE/FALSE 2. Excel 轉換為資料庫 1. 我們假設你將好了 MySQL 資料庫與 WorkBench 管理⼯作。這時你只要按下 這個 ’new Schema’ 的鈕後,接下來就可以輸入 ZombieRentSystem ,⽽ ZombieRentSystem 為原先 殭屍出租系統 .xlsx’ 的檔名,現在翻譯成英⽂ 變為資料庫名稱。在 MySQL Schema 即表⽰為資料庫 Database 3. 在按下 ’Apply’ 後這個 ZombieRentSystem 就會被建立。 2. 按下 ’Apply’ 後會出現建立資料庫 Database SQL 指令。 4. Tables 按右鍵選 'Create Table...' 5. 將原先在 Excel 中的欄位編號、名 字、變異年份、是否為素食者、最後出 租時間轉為英⽂名 ID Name Age IsVegetarian LastRentTime 並建 立在表格 Table 中。 6. 對應 Excel 中的類別 Type 為資料型別 Datatype ,在此我們 找到相近可表⽰的型別,分別為 INT 整數、 VARCAHR(45) 字元 45 個、 FLOAT 有⼩數的卸點數、 TINYINT(1) 只存⼀個整數以 1 表⽰ TRUE 0 表⽰ FALSE DATETIME ⽇期時間格式。 7. 後⽅的 PK 表⽰主鍵 Primary Key ,表⽰ 不重複、⽤以視別⼀筆資料。 AI Auto Increment 表⽰會⾃動增加編號的意思。 8. NN Not NULL ,⽤以 表⽰此欄的資料不為空,⼀ 定要有值的意思。 3. 學習 SQL ,完成資料的新增、查詢、修改刪除 1. 使⽤ INSERT INTO 指令,寫入資料 ⾄殭屍 Zombie 表格中。接下來寫在⼩括 (()) 中寫下要寫入資料的欄位,並以 逗號 (,) 隔開。 2. 接著是⼀個固定的 VALUES 關鍵字,後⾯接的就是 上述欄位要寫入的值。分別是 瘋狂傑克 ' 對應 Name 3.3 對應 Age 0 對應 IsVegetarian NULL 表⽰沒 有值的意思,對應 LastRentTime 3. 後續依續執⾏另外 4 INSERT INTO 指令,以新增 4 個殭屍的資料。 7. 接著是 SELECT FROM 指令,⽤來查詢表格中的資料。 SELECT 後⾯是要查詢的欄位有,在此放入 ID, Name, Age, IsVegetarian, LastRentTime 4. 要注意的是,⽂字和⽇期時間都需 要使⽤單引號 (‘') 裝起來。 5. 點選 ’SQL+’ 的按鈕新增⼀個執⾏ SQL 的視窗。將上述的 SQL 貼上。 6. 在執⾏前,記得 點兩下 ’ZombeiRentSystem' 好選 定使⽤這個資料庫,選定後它會變為粗體的字樣,接著按 下這個 閃電 ' 的圖⽰執⾏後就完成新增資料的動作。 8. FROM 後⾯接的是表格 Zombie 表⽰資料要從 Zombie 表格中取出。 9. 執⾏後會得到當時使⽤ INSERT INTO 5 筆資料。 10. 特號注意的是, ID 欄因為當時建立 Zombie 表格時 勾選了 ’AA' 且⼜是 INT 整數型別,因此在每次 INSERT INTO 時都會以加 1 的⽅式為每筆資料做編號。 11. 修改資料使⽤ UPDATE 指令,後 接的是要進⾏修改的表格 Zombie 12. SET 後⾯接的是要修改資料的欄位,在此修改 Name 為瘋狂傑克 33 LastRentTime ’2021/10/ 25 7:00’ ,兩欄之間的修改也需以逗號 (,) 隔開。 13. WHERE 的功能非常重要,它幫助我們找出符合條件 的資料以進⾏修改,在此找出 ID 1 的資料進⾏修改。 14. 執⾏後使⽤ SELECT 查詢,你會發現 ID 1 的資料 以被修改, Name 為瘋狂傑克 33 LastRentTime ’2021-10-25 07:00:00’ 15. 刪除資換使⽤ DELETE FROM ,後⾯接的是表格 Zombie ,表⽰要刪除 Zombie 表格中的資料。 16. 同樣使⽤ WHERE 限定要刪除的條件, 在此將 ID 5 的資料刪除。 17. 執⾏後在⽤ SELECT 查詢,你會 發現 ID 5 的資料已不存在了。 4. 資料的關聯 1. 最後要在資料庫學的是資料的關聯,比如如 何將客⼾、出租單與殭屍這 3 個資料連結起來,好 完成我們的殭屍出租系統。 2. 當然也包含找到我們要的資料,比如找出特定客⼾的所有出租 單,這些就是屬於進階查詢 SELECT 的學習了。當然,在 Excel 中若 有使⽤過 VLoopup() 也可以做到資料關聯與查詢的功能。這部份就 留待我們學習 MySQL 資料庫時在學習的新知了。

留言