--创建一个班级表
create table classes(
class_no number(4) primary key,
class_name varchar2(8) unique not null
);
insert into classes(class_no, class_name)
values(1, '1102B');
insert into classes(class_no, class_name)
values(2, '1102A');
insert into classes(class_no, class_name)
values(3, '1103A');
--在学员表中加入一个班级编号列
alter table students
add(class_no number(4));
insert into students(stu_no, stu_name,
gender, age, id_card, class_no)
values(7, '张佳乐', '男', 23, 431234567431234567, 1);
insert into students(stu_no, stu_name,
gender, age, id_card, class_no)
values(8, '刘建', '男', 23, 431234567431234567, null);
--定义外键约束有两种方式
--直接定义
create table STUDENTS
(
stu_no NUMBER(4) primary key,
stu_name VARCHAR2(20) not null,
gender CHAR(2) not null,
age NUMBER(3),
id_card NUMBER(18),
class_no NUMBER(4) references classes(class_no)
);
--添加外键约束时,被引用的表必须已经存在
alter table students
add constraints ch_age
check(age > 0 and age <= 120);
alter table students
add constraints ch_id_card
check(length(id_card) = 18);
alter table students
add constraints ch_gender
check(gender='男' or gender='女');
--先创建表,再添加外键约束
--语法
--alter table 表名
--add constraints 约束名
--foreign key(当前表的外键列名)
--references 被引用表(主键列名);
alter table students
add constraints fk_class_no
foreign key(class_no)
references classes(class_no);
一般来说,除了非空约束,其它的几种约束,都是通过
alter table 的方式添加
create table classes(
class_no number(4) primary key,
class_name varchar2(8) unique not null
);
insert into classes(class_no, class_name)
values(1, '1102B');
insert into classes(class_no, class_name)
values(2, '1102A');
insert into classes(class_no, class_name)
values(3, '1103A');
--在学员表中加入一个班级编号列
alter table students
add(class_no number(4));
insert into students(stu_no, stu_name,
gender, age, id_card, class_no)
values(7, '张佳乐', '男', 23, 431234567431234567, 1);
insert into students(stu_no, stu_name,
gender, age, id_card, class_no)
values(8, '刘建', '男', 23, 431234567431234567, null);
--定义外键约束有两种方式
--直接定义
create table STUDENTS
(
stu_no NUMBER(4) primary key,
stu_name VARCHAR2(20) not null,
gender CHAR(2) not null,
age NUMBER(3),
id_card NUMBER(18),
class_no NUMBER(4) references classes(class_no)
);
--添加外键约束时,被引用的表必须已经存在
alter table students
add constraints ch_age
check(age > 0 and age <= 120);
alter table students
add constraints ch_id_card
check(length(id_card) = 18);
alter table students
add constraints ch_gender
check(gender='男' or gender='女');
--先创建表,再添加外键约束
--语法
--alter table 表名
--add constraints 约束名
--foreign key(当前表的外键列名)
--references 被引用表(主键列名);
alter table students
add constraints fk_class_no
foreign key(class_no)
references classes(class_no);
一般来说,除了非空约束,其它的几种约束,都是通过
alter table 的方式添加