什麼是數據約束
數據約束用來限制用戶對數據的非法的修改操作。
1.約束字段的默認值
如果插入記錄時,沒有給某個字段賦值,那麼我們可以設置它的默認值
關鍵字:default
CREATE TABLE test1( tin INT, tname VARCHAR(20) DEFAULT '待定' ); INSERT INTO test1(tin) VALUES (1); SELECT * FROM test1;
2.非空約束
約束一個字段,使它的值不能為空
關鍵字: not null
CREATE TABLE test1( tin INT, tname VARCHAR(20) NOT NULL );
這裡的非空指的是null 和 沒有插入值,如果是空字符串,是可以插入的。
3.約束重復值
使不同的記錄的字段的值不能相同。
關鍵字: unique
CREATE TABLE test1( tin INT UNIQUE, tname VARCHAR(20) );
雖然不可重復,但是null可以插入,而且可以多個記錄的值為null。
當需要每一條記錄都有一個唯一的標識,這就需要使用主鍵,例如生活中的ID,一般公司內每個人的ID都是唯一的,對每個人都是唯一的標識。
關鍵字:primary key
CREATE TABLE test1( tin INT PRIMARY KEY, tname VARCHAR(20) );
主鍵的特性: 唯一,不能為null。
5.自增長
有些數據我們希望每插入一條記錄到表中,那麼該記錄的自動獲得一個編號,每次插入一條記錄,該編號就自動加1,例如ID,這就需要用到自增長。
關鍵字:auto_increment
CREATE TABLE test1( tin INT PRIMARY KEY AUTO_INCREMENT, tname VARCHAR(20) );
自增長的特性:
我們使用delete from 語句來刪掉表中的所有數據,自增長數值是不會重置的。
如果使用truncate fom 語句來刪除表中所有數據,自增長數的值會重新從0算起。
TRUNCATE TABLE test;