⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 罗彭宇.txt

📁 关于oracle和sql的书籍和ppt教程,非常好,本人珍藏品
💻 TXT
字号:
建一个学生选课的关系
学生表(学生号,姓名,性别,年龄,课程编号,成绩)
约束: 主键约束-----学生号;
       外键约束-----课程编号,外键到课程表的课程编号
       check约束----性别:值为‘男’,‘女’----   年龄:18<age<60  ----成绩: score> 0
       
课程表(课程编号,课程名字,课程学分)
约束: 主键约束----课程编号
       不为空约束---课程名字,课程学分

给学生表 插入10行记录
给课程表插入5行记录


把成绩〈 60分的学生成绩 + 10分,然后查下谁不及格

在上面的DML中 加入事务的操作,并练习下存储点的用法




答案:
学生表(学生号,姓名,性别,年龄,课程编号,成绩)
create table lpy_student
(sno int ,
 name varchar2(20),
 sex char(2),
 age varchar2(10),
 cno int ,
 score varchar2(10)
 );

课程表(课程编号,课程名字,课程学分)
create table lpy_course
(cno int ,
name varchar2(20),
cstudyscore varchar2(10)
);


建立lpy_student表的主键约束-学生号;
alter table lpy_student add constraint primary_lpystudent primary key(sno);


建立lpy_course表的主键约束-课程编号;
alter table lpy_course add constraint primary_lpycourse primary key(cno);

建立lpy_student表的外键约束-课程编号;
alter table lpy_student add constraint foreign_lpystudent foreign key(cno) references lpy_course(cno);

建立check约束--性别:值为'男','女'
alter table lpy_student add constraint check_lssex check (sex in('男','女'));
建立check约束--年龄:18<age<60
alter table lpy_student add constraint check_lsage check(age between 18 and 60);
建立check约束--成绩: score> 0
alter table lpy_student add constraint check_lsscore check(score>0);


建立lpy_course表不为空约束---课程名字
alter table lpy_course modify name not null;
建立lpy_course表不为空约束---课程学分
alter table lpy_course modify cstudyscore not null;


给lpy_student学生表 插入10行记录
insert into lpy_student (sno,name,sex,age,cno,score) values (1,'A','男',18,1,39);
insert into lpy_student (sno,name,sex,age,cno,score) values (2,'B','女',19,2,80);
insert into lpy_student (sno,name,sex,age,cno,score) values (3,'C','男',18,3,70);
insert into lpy_student (sno,name,sex,age,cno,score) values (4,'D','男',19,4,56);
insert into lpy_student (sno,name,sex,age,cno,score) values (5,'E','女',19,5,70);
insert into lpy_student (sno,name,sex,age,cno,score) values (6,'F','女',18,1,52);
insert into lpy_student (sno,name,sex,age,cno,score) values (7,'G','男',18,2,47);
insert into lpy_student (sno,name,sex,age,cno,score) values (8,'H','女',18,3,50);
insert into lpy_student (sno,name,sex,age,cno,score) values (9,'I','男',19,4,49);
insert into lpy_student (sno,name,sex,age,cno,score) values (10,'J','男',19,5,61);


给lpy_course课程表插入5行记录

 insert into lpy_course (cno,name,cstudyscore) values(001,'语文',10);

 insert into lpy_course (cno,name,cstudyscore) values(002,'数学',10);

 insert into lpy_course (cno,name,cstudyscore) values(003,'英语',10);

 insert into lpy_course (cno,name,cstudyscore) values(004,'物理',5);

 insert into lpy_course (cno,name,cstudyscore) values(005,'化学',5);

把成绩〈 60分的学生成绩 + 10分,然后查下谁不及格
update lpy_student set score= score + 10 where score<60;
select * from lpy_student where score<60;

 
在上面的DML中 加入事务的操作,并练习下存储点的用法       
        savepoint sp1;--设置保留点。
        rollback to sp1; --事务回退到sp1保留点。
        commit;          --提交事务。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -