Mysql 零距离-入门(六)数据唯一约束性
生活随笔
收集整理的這篇文章主要介紹了
Mysql 零距离-入门(六)数据唯一约束性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在數據記錄中我們為保證數據的唯一性,保證用戶數據在數據中不出現重復記錄。我們需要用到Mysql的主鍵key,唯一約束。
主鍵約束 PRIMARY KEY
一張數據表中只能存在一個主鍵字段。并且類型必須為數字。可是設為float類型,但小數點值必須為0和傳入此字段的重復值。它可以很好保證我們記錄的唯一性,主鍵字段自動為NOT NULL
現在,我們來創建一張新的數據表tb3,并設定一個主鍵字段
CREATE TABLE tb3(id SMALLINT UNSIGNED PRIMARY KEY,name VARCHAR(20),sex ENUM('1','2','3') DEFAULT '3');
創建數據表成功,現在我們來插入兩段用戶數據。
INSERT tb3 VALUES(5,'大毛','1'); INSERT tb3 VALUES(10,'小李','1');輸出記錄
SELECT * FROM tb3;
可以看到我們剛剛的記錄插入成功了,現在我們來入id值5的記錄看看會怎么樣
INSERT tb3 VALUES(5,'小明','2');
mysql報錯:主鍵以存在重復的‘5’值,所以剛剛插入記錄失敗了。主鍵保證了我們數據的唯一性。
自動編號AUTO_INCREMENT
每一次都要手動為主鍵賦值非常不方便,而且當我們數據表中的數據非常多的時候,我們就很容易插入重復的主鍵值容易引發錯誤。所以我們這里就要用到自動編號AUTO_INCREMENT來為我們的主鍵字段進行自動編號賦值了。
- 自動編號,必須與主鍵組合使用
- 默認情況下,起始為1,每次的增量為1
下面我們來創建多一個數據表tb4
CREATE TABLE tb4(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),sex ENUM('1','2','3') DEFAULT '3');
數據表創建成功,現在我們來連續插入三段數據。然后把記錄打印出來看看主鍵值
INSERT tb4(name,sex) VALUES('小麗','2'); INSERT tb4(name,sex) VALUES('大理','1'); INSERT tb4(name,sex) VALUES('小明同學','1'); SELECT * FROM tb4;
可以看到主鍵值已經自動編號1~3了。
唯一約束 UNIQUE KEY
唯一約束性在一個數據表中可以存在多個字段,但是每個字段值中的集合不能出現重復值,并且可為NULL。就好像我們網站中的用戶名一樣。
現在我們來創建一張新的數據表ta5
CREATE TABLE ta5(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,usename VARCHAR(20) NOT NULL UNIQUE KEY,ega TINYINT UNSIGNED );插入兩斷用戶數據
INSERT ta5(usename,ega) VALUES('小明',22); INSERT ta5(usename,ega) VALUES('小明',20);
可以看到mysql報錯usename字段已經存在小明字段。所以usename已經是具有唯一約束性的字段。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Mysql 零距离-入门(六)数据唯一约束性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python日期转化成周数_[转]浅析使
- 下一篇: java 线程 事件_Java事件调度线