iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
自我挑戰組

大二萌新的學習紀錄系列 第 15

Day 15 : PHP - 如何在phpMyAdmin手動建立資料表?char和varchar又該如何選擇?

如標題,這篇想教大家如何在phpMyAdmin裡「手動」建立資料表
還有charvarchar的差異在哪,又該如何做選擇?

首先,先新增一個資料庫
https://ithelp.ithome.com.tw/upload/images/20210929/20141088zQwiXW8q31.png

輸入資料庫的名字,這裡我們取名為dataTest
https://ithelp.ithome.com.tw/upload/images/20210929/20141088W792tIo4V2.png

再到資料庫裡新增一個資料表,取名為createTest,點擊執行
https://ithelp.ithome.com.tw/upload/images/20210929/20141088V8lOCuHOYo.png

並在名稱類型長度/值內輸入欲設定的欄位名稱型態

這裡想和大家聊聊charvarchar的差異
簡單來說,char是「長度固定」的,varchar是「長度可變」的

舉例來說,假設有兩個欄位,一個類型是char(10),另一個是varchar(10)
現在在兩個欄位內都輸入hello,則char(10)所佔的空間為10 Bytes,varchar(10)為6 Bytes

因為char的長度是固定的,但hello只佔5 Bytes,所以他會在右邊自動補上5個空格
但varchar是可變長度,且會多1個來記錄長度的Bytes,所以它會佔6 Bytes


看到這裡,大家是不是覺得選varchar是最好的選擇?其實不盡然喔!!
Char和varchar除了空間上的「性能」差異,還有「速度」上的差異

Varchar因為要計算實際用到的長度為何,所以會耗用CPU的運算時間
而char因為是固定長度,所以不用浪費時間判斷欄位內容的長度,運作速度會比varchar「」很多

那到底該如何做選擇呢?
如果是像輸入地址email那種比較不固定的欄位,就可以使用varchar
但如果是像名字郵遞區號……等那種固定長度的,就可以使用char

這裡我們把name設為charemail設為varchar
https://ithelp.ithome.com.tw/upload/images/20210929/20141088dBhT5JnAPs.png

按下儲存後,就會跳轉到此畫面
這裡我們勾選id,把它設為主鍵,表示此欄位不能有重複的內容
https://ithelp.ithome.com.tw/upload/images/20210929/20141088xTK2SkTPD2.png

再點擊上方的「新增」,在「」的地方輸入資料,輸入完按執行
https://ithelp.ithome.com.tw/upload/images/20210929/20141088h8on1Gnet8.png

它上方就會寫出SQL的語法,並告訴你已新增一筆資料
https://ithelp.ithome.com.tw/upload/images/20210929/20141088nOd0CdRtrS.png

再點回「瀏覽」,就能看到剛剛輸入的新資料囉!
https://ithelp.ithome.com.tw/upload/images/20210929/20141088VjcXI6sbQl.png

以上就是今天的介紹

先了解如何手動建立資料,再去用SQL的語法操作會比較好理解喔!


參考資料:
https://blog.xuite.net/tolarku/blog/29465482
https://kknews.cc/zh-tw/code/ey26lgy.html


上一篇
Day 14 : PHP - 如何更改XAMPP裡的phpMyAdmin的密碼?
下一篇
Day 16 : PHP - 如何在phpMyAdmin裡用SQL的語法做資料庫的查詢?
系列文
大二萌新的學習紀錄30

尚未有邦友留言

立即登入留言