数据库Oracle笔记05.doc
文本预览下载声明
约束条件 Constraint
create talbe student(
id number(4) primary key, 主键约束:非空唯一约束
name char(20));
复制表,但约束条件复制不过去。 但可以这么做,先确定主键不重复,不为空,
delete student where name = ‘tom’; 删除ID重复记录
alter table student add constraint student_id_pk primary key(id); student_id_pk是自定义的
ALTER TABLE stuInfo
ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo) 主键约束
ALTER TABLE stuInfo
ADD CONSTRAINT UQ_stuID UNIQUE (stuID) 唯一约束
因为每人的身份证号全国唯一
ALTER TABLE stuInfo
ADD CONSTRAINT DF_stuAddress
DEFAULT (地址不详) FOR stuAddress 默认约束
如果地址不填,默认为“地址不详
ALTER TABLE stuInfo
ADD CONSTRAINT CK_stuAge
CHECK(stuAge BETWEEN 15 AND 40) 检查约束 要求年龄在15-40岁之间
ALTER TABLE stuMarks
ADD CONSTRAINT FK_stuNo
FOREIGN KEY(stuNo) REFERENCES stuInfo(stuNo) 外键约束
主表stuInfo和从表stuMarks建立关系,关联字段为stuNo
删除约束:alter table student drop constraint 约束名; 得先查约束名字
select constraint_name,constraint_type from user_constraints where table_name=’STUDENT’;
所以建议给约束都自己起名 数据库中所有的表都是大写,得搜大写
create table student(
id number(4) primary key,
name char(20) not null,
email char(20) unique,
sex char (1) check(sex in(‘F’,’M’)) );
create table student(
id number(4), name char(20)constraint stu_name_nn not null, email char(20),sex char (1),
constraint stu_id_pk primary key(id),constraint stu_email_uq unique(email),
constraint stu_sex_ck check (sex in(‘F’,’M’))
);
显示全部