首頁技術文章正文

什么是數據類型?什么是數據約束?

更新時間:2022-10-18 來源:黑馬程序員 瀏覽量:

IT培訓班

大家都知道數據庫中的數據保存在數據表中,在表中為了更加準確的存儲數據,保證數據的正確有效,可以在創(chuàng)建表的時候,為表添加一些強制性的驗證,比如:數據類型和約束。

1. 數據類型

數據類型是指在創(chuàng)建表的時候為表中字段指定數據類型,只有數據符合類型要求才能存儲起來,使用數據類型的原則是:夠用就行,盡量使用取值范圍小的,而不用大的,這樣可以更多的節(jié)省存儲空間。

常用數據類型如下:

? 整數:int,bit

? 小數:decimal

? 字符串:varchar,char

? 日期時間: date, time, datetime

? 枚舉類型(enum)

數據類型說明:

decimal表示浮點數,如 decimal(5, 2) 表示共存5位數,小數占 2 位.

char表示固定長度的字符串,如char(3),如果填充'ab'時會補一個空格為'ab ',3表示字符數

varchar表示可變長度的字符串,如varchar(3),填充'ab'時就會存儲'ab',3表示字符數

對于圖片、音頻、視頻等文件,不存儲在數據庫中,而是上傳到某個服務器上,然后在表中存儲這個文件的保存路徑.

字符串 text 表示存儲大文本,當字符大于 4000 時推薦使用, 比如技術博客.

2. 數據約束

約束是指數據在數據類型限定的基礎上額外增加的要求,常見的約束如下:

主鍵 primary key: 物理上存儲的順序. MySQL 建議所有表的主鍵字段都叫 id, 類型為 int unsigned.

非空 not null: 此字段不允許填寫空值.

惟一 unique: 此字段的值不允許重復.

默認 default: 當不填寫字段對應的值會使用默認值,如果填寫時以填寫為準.


外鍵 foreign key: 對關系字段進行約束, 當為關系字段填寫值時, 會到關聯的表中查詢此值是否存在, 如果存在則填寫成功, 如果不存在則填寫失敗并拋出異常.





分享到:
在線咨詢 我要報名
和我們在線交談!