唯一約束? unique
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)海州,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
特征:
1.不允許有重復(fù)的值,保證數(shù)據(jù)的唯一性。
2.可以有空值
3.在一個表中,可以有多個唯一約束
4.默認情況下,唯一約束的名字和列名保持一致
5.添加唯一約束的列,系統(tǒng)也會默認給這個列添加一個唯一索引
索引:等同于書本的目錄,將來能夠加快數(shù)據(jù)的查詢速度。
如何添加唯一約束
1.創(chuàng)建表的同時創(chuàng)建唯一約束 UN_列名
格式一:
create table 表名(
列名1 數(shù)據(jù)類型,
列名2 數(shù)據(jù)類型,
constraint 唯一約束的名字 unique(列名1),
constraint 唯一約束的名字 unique(列名2)
);
格式二:
create table 表名(
列名1 數(shù)據(jù)類型 unique,
列名2 數(shù)據(jù)類型 unique,
列名3 數(shù)據(jù)類型
);
一個表中是可以存在多個約束的
2.針對已經(jīng)存在的表,添加唯一約束
格式:
alter table 表名 add unique(列名[,列名2]);
3.刪除唯一約束
格式:
alter table 表名 drop index 唯一約束的名字;
主鍵約束:唯一,不重復(fù),不能為空? primary key
一個表中有且只有一個主鍵約束
1.創(chuàng)建表的同時創(chuàng)建主鍵約束
格式一:
create table 表名(
列名1? 數(shù)據(jù)類型 primary key,
列名2 數(shù)據(jù)類型
);
主鍵約束名字的寫法: PK_列名
格式二:
create table 表名(
列名1 數(shù)據(jù)類型,
列名2 數(shù)據(jù)類型,
constraint? 主鍵約束的名字? primary key(列名1)
);
格式三:
create table 表名(
列名1 數(shù)據(jù)類型,
列名2 數(shù)據(jù)類型,
primary key(列名1)
);
2.針對已經(jīng)存在的表,添加主鍵約束
格式一:
alter table 表名 modify 列名 數(shù)據(jù)類型 primary key;
格式二:
alter table 表名 add primary key(列名);
格式三:
alter table 表名 add constraint 主鍵約束的名字 primary key(列名);
3.刪除主鍵約束
格式:alter table 表名 drop primary key;
4.4.7添加約束
語句格式:ALTER TABLE 表名ADD? CONSTRAINT? 約束名 約束類型(字段名)
上面語句格式中,“表名”指定要添加約束的是哪個表,“ADD CONSTRAINT”表示要在表中增加約束,其后的“約束名”是擬增加約束的名字,“約束類型”是擬增加約束的類型,其后括號里的“字段名”是指約束是在哪一個字段上建立起來的。
下面截圖中的“ALTER TABLE”語句在t_dept表中新增加了一個約束名為unidept的約束,它是在對字段deptno進行的唯一性約束。