類型和約束都是保證字段數(shù)據(jù)的完整性,類型約束的是數(shù)據(jù)的存儲類型,而約束是基于類型之上的額外限制。
1、數(shù)據(jù)類型:
作用: 保證字段數(shù)據(jù)的完整性
分類:
int(有符號整數(shù)) / int unsigned (無符號整數(shù),不可以是負數(shù))
tinyint / tinyint unsigned
decimal(5,2) 浮點數(shù)(小數(shù)) 共占用5位,小數(shù)占用2位,整數(shù)占用3位
varchar(20) 變長字符串, varchar("hello") 最終只用5位
date 日期 "2012-12-31"
time 時間 "12:12:12"
datetime 日期時間 "2019-08-23 20:20:20"
enum("男", "女") 枚舉數(shù)據(jù)類型 把所有可能的結(jié)果全部列舉出來
約束:
作用: 保證數(shù)據(jù)的完整性,對字段中的數(shù)據(jù)進行限制和約束
分類:
primary key 主鍵 (表示唯一一行記錄)
not null (不能為空)
unique 唯一值約束, 不允許重復
default 默認值約束
foreign key 外鍵約束
說明: 對于字段來說, 數(shù)據(jù)類型必須要有, 但是約束可以沒有。
推薦了解傳智播客軟件測試課程。