表的建立
oracle中包括五種約束,包括主鍵約束(primary key,該屬性的值不能爲空,不可重複,默認該列自動建立索引),外鍵約束(foreign key() references rname,參照完整性約束,該屬性的值必須在所對應的關係中存在),非空約束(not null),唯一約束(unique,不可重複,但可以爲空,因爲在數據庫中,該表達式 null=null 的返回結果爲unknown),check約束(check(a in(a1,a2,a3))),如下例
- create table test1
- ( id numeric(15) primary key, //主鍵約束
- name varchar2(15) not null, //非空約束
- gender varchar2(2) check(gender in ('M','F')), //模擬枚舉約束,Oracle中不支持枚舉類型
- stu_number number(15) unique, //禁止重複,但可以爲空
- grade number(5,2) default 0, //如果插入時該值爲定義,則使用默認值
- foreign key(stu_number) references test0 //外鍵約束
- on delete cascade); //如果被參照關係值刪除,則級聯刪除該關係中的相關內容
表的修改
1.增加一個新的屬性
alter table r add id varchar2(10);
2.減少一個已經存在的屬性
alter table r drop name;
3.修改一個已經存在的屬性的限制
alter table test1 modify grade number(5,2) not null;
4.修改一個已經存在的屬性的屬性名稱
alter table test1 rename column id to stu_number;