1.數據庫索引
索引:索引是對數據庫表中一列或多列的值進行排序的一種結構
索引分類:主鍵索引(PRIMAY KEY)、唯一索引(UNIQUE)、常規索引(INDEX)、全文索引(FULLTEXT)
常規索引 CREATE INDEX 索引名 ON 表名 (字段名)
唯一索引 CREATE UNIQUE INDEX 索引名 ON 表名 (字段名)
2.數據庫約束
約束:數據庫約束時防止非法記錄的規則
約束分類:
主鍵約束(Primay Key Coustraint):唯一性,非空性,一個表只能有主鍵,創建主鍵時會自動創建主鍵索引
ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY (字段名)
唯一約束(Unique Counstraint):唯一性,可以空,但只能有一個空,一張表可以有多個唯一約束,創建唯一約束時會自動創建唯一索引
ALTER TABLE 表名 ADD CONSTRAINT 約束名 UNIQUE (字段)
檢查約束(Check Counstraint):對該列數據的范圍、格式的限制(如:年齡、性別等)
ALTER TABLE 表名 CHECK (字段 約束)
默認約束(Default Counstraint):該數據的默認值
ALTER TABLE 表名 ALTER 字段名 SET DEFAULT '默認值'
外鍵約束(Foreign Key Counstraint):需要建立兩表間的關系並引用主表的列
ALTER TABLE 表名1 ADD CONSTRAINT 外鍵名 FOREING KEY (表1字段) REFENCES 表名2(表2字段)
3.disable與enable約束
控制約束的約束,控制表的約束時禁止還是激活狀態
disable:禁止狀態,相當於該列沒有約束,使用disable默認為Novalidate
enable:激活狀態,默認新創建的約束狀態是激活狀態,使用enable默認為Validate
|
|
Validate |
Novalidate |
||
| 已有記錄 |
新增/刪除記錄 |
已有記錄 |
新增/刪除記錄 |
|
| Enable |
Yes(表示需要受到約束條件限制) |
Yes |
No |
Yes |
| Disable |
Yes |
No |
No |
No |
