SQL-约束

-- alter table 更改表
-- modify 修改
-- add constraint 添加约束
-- not null 不为空
-- unique 唯一
-- check 检查
-- values 值
-- default 默认
-- primary key 主键
-- foreign key 外键

-- 想要指向表的字段就必须要建主键,先删除子表再删父表,添加数据的顺序是先父表再子表

-- not null:非空约束
alter table emp_constraint modify job not null;

-- unique:唯一约束,可以插入空值
alter table emp_constraint add constraint uq_emp_constraint_empno unique(empno);

-- check:检查约束
alter table emp_constraint add constraint ck_emp_constraint_sal check(sal >=0 and sal<=10000);
insert into emp_constraint (empno,job,sal) values(1001,'aaa',10000);
-- 违法检查约束条件
insert into emp_constraint (empno,job,sal) values(1002,'aaa',11000);

-- primary key:主键约束、非空、唯一
alter table emp_constraint add constraint pk_emp_constraint_empno primary key(empno);

-- default:默认值 你不往里面写数据的时候就会自动给到默认值
alter table emp_constraint modify comm default 888 ;
insert into emp_constraint (empno,job) values(3333,'aaa');
insert into emp_constraint (empno,job,comm) values(4444,'aaa',null);

-- foreign key:外键
alter table emp
add constraint fk_deptno foreign key (deptno)
references dept (deptno);


-- 建表时添加约束
drop table emp_test;

create table emp_test
(
empno number(4) primary key,
ename varchar2(10) unique,
job varchar2(9) not null,
mgr number(4),
hiredate date,
sal number(7,2) check(sal >=0 and sal<=10000),
comm number(7,2) default 888,
deptno number(2),
constraint fk_emp_test_deptno foreign key(deptno) references dept_constraint(deptno)
);

posted @ 2022-03-03 12:01  oNice  阅读(26)  评论(0编辑  收藏  举报