Oracle之SQL基礎 約束

2021-07-08 17:47:09 字數 2075 閱讀 8494

約束

資料字典

user_constraints

禁用/啟用約束

alter table table_name disable/enable constraint constraint_name;

刪除約束

alter table table_name drop constraint constraint_name;

更改約束的名稱

alter table table_name rename constraint old_name to new_name;

1、非空約束

建立表時設定非空約束

create table table_name(

column_name datatype not null,

...);

修改表時新增非空約束

alter table table_name modify column_name datatype not null;

修改表時去掉非空約束

alter table table_name modify column_name datatype null;

2、主鍵約束

建立表時設定主鍵約束

create table table_name(

column_name datatype primary key,

...);

(表級約束)

create table table_name(

column_name datatype,

...,

constraint constraint_name primary key(

column_name1,

...)

);檢視主鍵約束(用資料字典) user_constraints

select constraint_name from user_constraints where table_name='...';

修改表時新增主鍵約束

alter table table_name add constraint constraint_name primary key(

column_name1,

...);

刪除主鍵約束

alter table table_name drop primary key;

3、外來鍵約束

建立表時設定外來鍵約束和級聯刪除

create/alter table table_name(

column_name datatype primary key,

column_name1 datatype,

constraint constraint_name foreign key(column_name1) references table_name(column_name)[on delete cascade]

);修改表時新增外來鍵約束

alter table table_name add constraint constraint_name foreign key(column_name) references table_name(column_name)[on delete cascade]

4、唯一約束

建立表時新增唯一約束

欄位後加上

unique  (列級)

表後加上 constraint constraint_name unique(column_name)

(表級)

修改表時新增唯一約束

alter table table_name add constraint constraint_name unique(column_name,...)

5、檢查約束(資料驗證)

建立表時新增檢查約束

欄位後加上

check(expressions)  (列級)

表後加上 constraint constraint_name check(expressions)

(表級)

修改表時新增檢查約束

alter table table_name add constraint constraint_name check(expressions)

MySQL基礎之SQL的約束

1.source home shiyanlou desktop sql1 test.sql 載入檔案中的資料 create table 2.id int 10 primary key 定義主鍵 3.dpt name char 20 not null constraint dpt pk primary...

sql基礎(2)之資料庫的約束

唯一約束 unique 非空約束 not null 自增長約束 auto increment 非負約束 unsigned 列舉約束 刪除主鍵約束 外來鍵約束 foreign key 級聯刪除 on delete cascade 級聯更新 on update cascade 概念 對插入表中的資料做出...

sql學習之常見約束

常見約束 含義 一種限制,用於限制表中的資料,為了保證表中的資料的準確和可靠性 分類 六大約束 not null 非空,用於保證該字段的值不能為空 比如姓名 學號等 default 預設,用於保證該字段有預設值 比如性別 primary key 主鍵,用於保證該字段的值具有唯一性,並且非空 比如學號...