主键:primary key 外键:foreign key
1.每张表都要有一个主键盘
2.每张表可以有多个主键,称为联合主键。
3.一张表的外键一定是另一张表的主键。
4.每一个表可以有多个外键
5.表与表之间的关联都是主键和外键的映射来完成的。
总结:主键管理表<b>内部</b>每一条记录的差异性和唯一性,外键管理的是主表和从表之间的关系。
约束类型
检查约束 check 确保字段值的范围
唯一约束 unique 确保字段值不重复
<b>创建主键约束</b>
CREATE TABLE STU (STUNUM number(6), CODE char(3), GRADE number(3),
Constraint p_stunumcode primary key (STUNUM, CODE));
或者
alter table STU add constraint p_stunumcode primary key(STUNUM,CODE );
<b>创建外键约束</b>
CREATE TABLE STU_bak (STUNUM number(6), CODE char(3),GRADE number(3),
constraint f_stunumcode foreign key(STUNUM,code) references STU(STUNUM,code));
或者
alter table STU_bak
add constraint f_stunumcode foreign key(STUNUM,code) references STU(STUNUM,code) ;
<b>创建非空约束</b>
alter table STU modify GRADE not null;
alter改表 modify改字段
<b>创建检查约束</b>
CREAT<b>E</b> TABLE STU1 (STUNUM number (6),CODE char(3),GRADE number(3) check(GRADE between 1 and 10));
alter table 表名 add [constraint约束名] check (字段检查表达式)
表的修改
ALTER TABLE NEW_STU ASS SEXY CHAR(2)
常见的DDL语句操作( 一旦执行,不可以撤销或者回滚)
Creat 创建一张表
Alter 修改一张表
Truncate 截断一张表(清除数据,恢复索引,表还在)
Drop 删除一张表(清除数据,删除表还在)
显示与部门编号为20的岗位相同的雇员信息
select * from emp where job in (
select job from emp where deptno=20
)
select * from emp where sal>=(
select max(sal) from emp where deptno=20
)