1 oracle数据库共有五个约束
主键、外键、非空、唯一、条件。
主键不能为空值,唯一约束表中列的值必须唯一存在,但可以为空。
2 创建带有约束的表
①带有主键约束和非空约束的语句:
create table items(
itemno number(2) constrain PK_Items primary key,
itemname varchar2(20) not null
);
②带有外键约束的语句:
create table Business(
Busino number(2) constraint PK_Business primary key,
Businame varchar2(32) not null,
Itemno number(2),constraint FK_Business foreign key(itemno) references Items(itemno),
StartTime date
);
关键字 : constraint XXX ----约束名
foreign key(当前表的列名) references 其他表(其他表的某列)
③带有唯一和条件约束的语句:
create table computers(
CompNO number(4) constraint PK_Comp primary key,
CompModel varchar2(64) unique,
BuyTime date,
Price number(7,2) constraint ch_price check(price>0 and price <=30000),
Owner varchar2(32));
关键字: unique 唯一约束的关键字,表示该列值必须唯一
constraint XXX check(条件表达式) 条件约束的关键字,XXX为约束名,某列必须满足条件表达式才能插入表中。
3 完整复制表数据
create table t1 as select * from t2;
使用该语句复制表只会把t2表中的数据和非空约束复制到t1中,而主键约束、外键约束、唯一约束、条件约束都不会复制。
4 为表items增加一列
alter table items add (manager varchar2(6));
5 将表itesm 的manager 列的长度改为8
alter table items modify (manager varchar2(8));
6 删除items表的manager列
alter table items drop column manager;