資料庫維護常用操作命令2--約束
---資料庫開發基礎---約束
1,約束的分類primary key(PK)主鍵約束,
foreign key(FK)外來鍵約束,
unique(UK)唯一約束,
check約束,
NOT null約束(NN) -------有時候說的是四種約束,就是除了這個約束外的其他四種主鍵約束,
2.約束的建立語法
1>.主鍵約束
create table t(x int,y int,primary key(x));
create table t(x int constraint pk_t primary key,y int);
2>.外來鍵約束
create table t(z int constraint pk_t primary key,x int constraints fk_t references t);
create table t(z int,x int,primary key(z),foreign key(x) references t);
3>. unique 唯一鍵約束
create table t(z int constraint pk_t unique);
create table t(z int ,unique(z));
4>.check 約束
create table t1(z int ,age int check(age>0 and age<150));
create table t2(z int ,age int,check(age>0 and age<150));
5>.null約束
create table t3(z int ,age int not null);
6>組合鍵約束中的組合作為一個整體對約束物件進行一起約束
---組合主鍵同時不滿足唯一性時才拒絕,兩者均各不為空
create table t(x int,y int,primary key(x,y));
insert into t values(1,1);-----YES
insert into t values(1,NULL);--NO
insert into t values(NULL,1);--NO
insert into t values(1,2);-----YES
insert into t values(NULL,NULL);--NO
對於null,oracle將其預設為unknow型別。
3.約束的修改語法
alter table t_emp add constraint fk_dept foreign key(deptno) references t_dept(deptno);---增加約束
alter table t_emp add constraint fk_deptno1 foreign key (deptno) references t_dept(deptno) on delete cascade;---增加可級聯刪除的外來鍵約束
alter table t_emp drop primary key; ---------------刪除約束
alter table t_emp disable constraint fk_deptno1;-----使失效
alter table t_emp enable constraint fk_deptno1;------使生效
alter table t_ck1 modify id constraint t_nk not null;-----已經存在的約束進行修改
alter table t_null modify id constraint t_nk not null;-----已經存在的約束進行修改
在進行約束脩改或刪除過程中存在外來鍵子表與父表之間的級聯關係
alter table T_ORD_ORDER_CHANNEL drop constraint PK_T_ORD_ORDER_CHANNEL CASCADE;----級聯刪除
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30018455/viewspace-1665012/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫維護常用操作命令1--約束資料庫
- 資料庫維護常用操作命令1-表操作資料庫
- 資料庫常用維護命令資料庫
- 資料庫常用約束資料庫
- 資料庫維護常用操作4--表空間操作資料庫
- DB2資料庫常用命令集:部分資料庫維護命令DB2資料庫
- Oracle data guard常用維護操作命令(轉)Oracle
- 資料庫維護常用操作3--DDL語句檢視資料庫
- mysql資料庫約束MySql資料庫
- AIX常用維護操作AI
- MYSQL資料庫常用操作命令節選MySql資料庫
- Oracle資料庫維護常用SQL語句集合Oracle資料庫SQL
- 常用操作 / 資料庫操作資料庫
- 維護資料庫安全資料庫
- rac常用維護工具和命令
- mysql維護常用命令MySql
- hbase叢集 常用維護命令
- MySQL資料庫管理的常用操作命令錦集MySql資料庫
- Oracle資料庫維護常用的SQL程式碼示例(zt)Oracle資料庫SQL
- Linux-Unix系統操作與維護常用命令Linux
- Oracle資料庫日常維護Oracle資料庫
- Oracle - 約束、索引等相關常用操作語句Oracle索引
- 暑期自學 Day 11 | 資料庫 (四)- 約束資料庫
- 【PDB】Oracle pdb維護常用sql命令OracleSQL
- nginx日常維護常用命令Nginx
- solaris 10維護常用命令
- Oracle RAC 常用維護工具和命令Oracle
- 入侵oracle資料庫時常用的操作命令整理(轉)Oracle資料庫
- 資料庫中欄位資料型別以及約束資料庫資料型別
- MySQL資料庫常用操作MySql資料庫
- Mysql 常用資料庫命令MySql資料庫
- 資料庫 MySQL8.0+常用命令及操作命令詳解資料庫MySql
- oracle dg 維護常用操作和調優Oracle
- Mysql資料庫操作命令MySql資料庫
- 六、資料庫管理與維護資料庫
- Oracle資料庫開發——表(資料完整性約束)Oracle資料庫
- 資料庫(Oracle)運維工作內容及常用指令碼命令資料庫Oracle運維指令碼
- 資料庫約束有什麼作用?linux運維工程師MySQL學習資料庫Linux運維工程師MySql