一、Primary Key和Unique
Primary Key和Unique 都是一種約束(Constraint),都不允許列種存在重復值,不同的是:
- Primary Key:一個表只能有一個 PRIMARY KEY 約束,不允許有空值
- Unique :一個表可以有多個 UNIQUE 約束,允許存在空值
當向表中插入數據時,如果有約束列中有重復值,會報錯
1062 - Duplicate entry '1' for key 'stuid'
表已經創(chuàng)建好之后添加Primary Key和Unique 約束
Alter table 表名稱
add constraint 約束名稱 primary key (列名稱);
Alter table 表名稱
add constraint 約束名稱 unique(列名稱);
刪除Primary Key和Unique 約束
Alter table 表名稱
drop primary key;
Alter table 表名稱
drop index unique約束名稱;
創(chuàng)建約束時沒有定義約束名,如何刪除約束?
第一步:輸入以下語句,從CONSTRAINT_NAME 列找到系統自動定義的約束名
Select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE;
第二步:刪除約束
二、Index
create index 語句用于為表創(chuàng)建索引,目的是為了提高查詢速度。
創(chuàng)建一個簡單的索引,允許有重復值
Create index 索引名稱
on 表名稱(需要索引的列);
創(chuàng)建一個唯一的索引,兩行不允許擁有重復的索引值
Create unique index 索引名稱
on 表名稱(需要索引的列);
三、Primary Key 和Unique Index
創(chuàng)建primary key約束的同時會創(chuàng)建一個unique index。