在 Day 13 介紹了如何使用 xampp 的 phpmyadmin 建立一張資料表,在 Day 14 要來介紹如何用 SQL 語法新資料進入資料表中。
Day 13 我們做出這樣的資料表,有一個 UserID 的帳號欄位與 password 的密碼欄位,且 UserID 是唯一鍵。
點選 insert 按鈕,就可以進到新增資料的頁面
介面很清楚要輸入什麼樣的資料,比較特別要說明的是 function 這個欄位,等等再說明,先點選下方的 Preview SQL 看一下這兩筆資料應該要怎麼輸入 SQL 語法
解析一下這個語法,如果要新增資料最基本的結構是INSERT INTO 表格名稱 (欄位1,欄位2...) VALUES (第1筆資料1,第1筆資料2...),(第2筆資料1,第2筆資料2)...
如果 VALUES
後面放的資料剛好對應到所有資料表的欄位,則可以免掉 VALUES
前面的欄位資料,因此上面的 SQL 可以寫成
解析一下這個語法,如果要新增資料最基本的結構是INSERT INTO 表格名稱 VALUES (第1筆資料1,第1筆資料2...),(第2筆資料1,第2筆資料2)...
另外在 第1筆資料 password 因為使用 PASSWORD function,SQL 語法中的資料被寫成 PASSWORD('123456'),送出後,可以看看這兩筆資料的差異。結果如下
可以看到一樣都是 123456 的密碼,卻得到不一樣的結果,因為 PASSWORD function 使用 Hash 把數值用神奇魔法變成看不懂的樣子,等需要做密碼驗證就把輸入的字串用 Hash 算一下再比對就知道密碼是否正確了。需要這樣是為了避免哪天真的不幸資料庫的資料被駭客包軌,也不會直接看出密碼是什麼,如果要舉個例子,大概就是最常被打的臉書吧。
不過也不是說包成這樣就不會被看出來是什麼了,只要對所有弱密碼和字典單字進行一樣的 function計算,海水退了,就知道誰在用爛密碼了。
使用爛密碼有風險,爛密碼一定會被破解,使用前請詳閱公開說明書與建議密碼格式