Oracle中的建表約束

2021-08-02 17:28:12 字數 1197 閱讀 4705

約束是表一級的限制

如果存在依賴關係,約束可以防止錯誤的刪除資料

約束的型別:

not null

unique

primary key

foreign key

check

使用者可以自定義約束,也可以使用oracle server的sys_cn格式命名約束

約束建立的時機:

建立表的時候,同時建立約束

表結構建立完成後

約束可以定義在列一級,或者是表一級

通過資料字典檢視約束

非空約束 not null 保證列的值不能為空

唯一性約束 unique 保證列的值唯一

主鍵約束 primary key 將列設為主鍵

外來鍵約束 foreign key 將列設為外來鍵

foreign key: 在子表中,定義了乙個表級的約束

references: 指定表和父表中的列

on delete cascade: 當刪除父表時,級聯刪除子表記錄

on delete set null: 將子表的相關依賴記錄的外鍵值置為null

檢查性約束 check

定義每一行記錄所必須滿足的條件

下面的表示式可以使用在check約束中:

引用currval, nextval, level, 和rownum

呼叫sysdate, uid, user, 和userenv 函式

另乙個表的查詢記錄

create table student(

sid number constraint student_pk primary key,

sname varchar2(20) constraint student_name_notnull not null,

gender varchar2(4) constraint student_gender check (gender in ('男','女')),

email varchar2(40) constraint student_email_unique unique

constraint student_email_notnull not null,

deptno number constraint student_fk references dept(deptno) on delete cascade

);

Oracle 建表 約束 修改列

增加列 alter table name add columnname type 或者alter table name add columnname type 修改列名 alter table name rename column name1 to name2 刪除列alter table name...

Mysql建表約束

2.自增約束 3.唯一約束 4.非空約束 5.預設約束 6.外來鍵約束 7.檢查約束 無效 8.列舉型別約束 9.觸發器 trigger 約束 1.主鍵約束 它是能夠唯一確定一張表中的一條記錄,也就是我們通過給某個字段新增約束,也就是使得改字段不重複而且不為空 1.1 普通主鍵約束 create t...

MySQL建表約束

它能夠唯一確定一張表中的記錄,也就是我們通過給某個字段新增約束,就可以使得該字段不重複且不為空。create table user id int primary key,name varchar 20 insert into user values 1,張三 唯一 不能再次插入id 1的記錄 資料 ...