資料庫學習(1) - constraint

lcq_0618發表於2014-07-03
1、constraint用法
  a、主鍵約束:非空不重複
   語法:alter table 表格名稱 add constraint 約束名稱 增加的約束型別(列名)
   示例: alter table dept add constraint dept_constraint_id primary key(id)
  b、check約束:對列的資料進行限制
   語法:alter table 表格名稱 add constraint 約束名稱 增加的約束型別(列名
    以A-Z開頭的,後面可以用數字
    ALTER TABLE tableName ADD CONSTRAINT constraintName CHECK(REGEXP_LIKE(columnName,'^[A-Z]')) NOVALIDATE;
    以0或9數字開頭的
    ALTER TABLE tableName ADD CONSTRAINT constraintName CHECK(REGEXP_LIKE(columnName,'^[0-9]')) NOVALIDATE;
    任何字母
    ALTER TABLE tableName ADD CONSTRAINT constraintName CHECK(REGEXP_LIKE(columnName,'[[:alpha:]]')) NOVALIDATE;
     任何數字
   
 ALTER TABLE tableName ADD CONSTRAINT constraintName CHECK(REGEXP_LIKE(columnName,'[[:digit:]]')) NOVALIDATE;
    c、unique約束:不重複
    語法:alter table 表格名稱 add constraint 約束名稱 增加的約束型別(列名
     示例: alter table dept add constraint dept_name unique(name)
    d、預設約束:使列的值為預設的值
    語法:alter table 表格名稱 add constraint 約束名稱 約束型別 預設值  for 列名
     示例: alter table dept add constraint dept_age  default 25 for age
    e、外來鍵約束
    
 語法:alter table 表格名稱 add constraint 約束名稱 約束型別(列名) references 被引用的表名(列名)
     示例: alter table user add constraint user_dept  foreign key(deptId) references dept(id)

    刪除constraint
    alter table tableName drop CONSTRAINT constraintName ;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10712951/viewspace-1207137/,如需轉載,請註明出處,否則將追究法律責任。

相關文章