1.使用頻率高
1.CHAR(),固定長度
2.VARCHAR(),長度不固定
CHAR()容易浪費儲存空間,但效能較好,VARCHAR()會浪費CPU時間,VARCHAR(50~255)就能夠應付大部分的使用需求,包含商品名稱、顧客姓名、電子郵件,亦能簡化資料庫的設計。
2.使用頻率偏低
1.TinyText,儲存二進位資料,最大長度255個字元,儲存小而有價值的單行資訊或表的簡短描述
2.TEXT,最大長度65535個字元
3.MediumText,最大長度16777215位元
4.LongText,最大長度4294967295位元
要用到3、4,大量文字,如書籍、歷史紀錄
屬性可以點擊Day6,查看
1.TINYINT,1 位元組,範圍-128~127,加上UNSIGN,範圍變成0-255,年齡、身高、體重
2.SMALLINT,範圍-2^15 (-32,768) 到 2^15-1 (32,767)
3.INT,範圍-2^31到2^31-1
4.BIGINT,範圍-2^63到2^63-1
規劃資料庫時必須選用最小化的資料大小,比如說只是儲存1個數字,就不要用INT,造成空間浪費
DECIMAL(最大有效位數, 小數點後位數),需要精確計算的欄位,舉例來說像是老外做的手游,很多禮包都是99.9美,這種的(讓人感覺沒有到100美,都是套路阿)
1.FLOAT
2.DOUBLE
大量數據計算,精確值不重要
1.DATE,日期
2.TIME,時間
3.DATETIME,日期+時間
4.TIMESTAMP,時間戳
基本上使用哪種時間欄位也是取決於業務需求,如果說紀錄商品只需要到日期,例如出貨單,不過也有需要到時間的,例如商品的保存日期,時間戳的應用像是某些網站記錄訪客最後上線時間,就會用到這個型態進行後續的運算。
每次在規劃資料庫時基本都會使用都上述字串、數字、時間的型態,不過MYSQL還有使用頻率少的資料型態,預計明天會寫到
Day19-MySQL的資料類型-二進位、JSON