根据给定的文件信息,我们可以总结出一系列与数据库操作相关的知识点,主要集中在SQL语言的使用上,特别是数据定义语言(DDL)和数据操纵语言(DML)。以下是对这些知识点的详细解析: ### 1. 创建表(CREATE TABLE) 在Oracle数据库中,创建表是通过`CREATE TABLE`语句实现的。例如,`CREATE TABLE test4_01 AS SELECT * FROM pub.student_41`这一行代码的作用是从`pub.student_41`表中复制所有列和数据到新创建的`test4_01`表中。这种方式不仅创建了新的表结构,同时也填充了数据。 ### 2. 修改表(ALTER TABLE) `ALTER TABLE`用于修改已存在的表结构。例如,向`test4_01`表中添加新的列:`sum_score smallint`、`avg_score real`、`sum_credit smallint`和`did varchar(2)`。这里的`smallint`表示小整型,`real`表示实数类型,`varchar(2)`表示变长字符类型,长度为2个字符。 ### 3. 更新数据(UPDATE) 更新数据是通过`UPDATE`语句实现的。如`UPDATE test4_01 SET sum_score = (SELECT SUM(score) FROM pub.student_course WHERE test4_01.sid = pub.student_course.sid GROUP BY sid)`这一行代码,其作用是计算每个学生的总分,并将结果存储在`test4_01`表的`sum_score`列中。这里使用了子查询,根据学生ID(`sid`)进行分组计算总分。 ### 4. 数据聚合函数 聚合函数如`SUM()`、`AVG()`用于对数据进行汇总统计。例如,`SELECT SUM(credit) FROM test`计算`test`表中的所有学分总和。 ### 5. 表连接(JOIN) 自然连接(NATURAL JOIN)用于连接两个表中具有相同列名的列。例如,`CREATE TABLE test AS SELECT * FROM pub.student_course NATURAL JOIN pub.course`将`student_course`表和`course`表基于共享列进行连接。 ### 6. 多表联合(UNION) `UNION`操作符用于合并多个查询的结果集,但会自动去除重复的行。例如,`CREATE TABLE alldep AS SELECT * FROM pub.department UNION SELECT * FROM pub.department_41`将`department`和`department_41`两个表的数据合并到`alldep`表中,去除了重复记录。 ### 7. 条件表达式 条件表达式如`WHERE`子句用于指定SQL语句的过滤条件。例如,`WHERE test.score > 59 AND test4_03.sid = test.sid`用于筛选成绩大于59分的学生记录。 ### 8. 子查询 子查询是在另一个查询语句内部执行的查询。例如,`SET did = (SELECT did FROM alldep WHERE test4_04.dname = alldep.dname)`使用子查询来查找并设置部门ID。 ### 9. 处理空值 当`test4_04.did IS NULL`时,使用`UPDATE test4_04 SET did = '00'`将`did`列中的空值替换为字符串`'00'`。 这段数据库实验涵盖了数据库设计、数据操作、数据统计分析等多个方面,是学习和掌握SQL语言的重要实践案例。通过这些操作,可以加深对数据库管理系统(DBMS)的理解,提高处理复杂数据问题的能力。












CREATE TABLE test4_01 AS
SELECT * FROM pub.student_41
ALTER TABLE test4_01 ADD sum_score smallint
ALTER TABLE test4_01 ADD avg_score real
ALTER TABLE test4_01 ADD sum_credit smallint
ALTER TABLE test4_01 ADD did varchar(2)
UPDATE test4_01
set sum_score=(
select sum(score)
from pub.student_course
where test4_01.sid= pub.student_course.sid
group by sid
)
update dbtest set test=4
select * from dbscore
**************************2********************************
CREATE TABLE test4_02 AS
SELECT * FROM pub.student_41
ALTER TABLE test4_02 ADD sum_score smallint
ALTER TABLE test4_02 ADD avg_score real
ALTER TABLE test4_02 ADD sum_credit smallint
ALTER TABLE test4_02 ADD did varchar(2)
UPDATE test4_02
SET avg_score=
(
SELECT ROUND(AVG(score) ,1)
FROM pub.student_course
GROUP BY sid
)
UPDATE dbtest SET test=4
SELECT * FROM dbscore
**************************3********************************
CREATE TABLE test4_03 AS
SELECT * FROM pub.student_41
ALTER TABLE test4_03 ADD sum_score smallint
ALTER TABLE test4_03 ADD avg_score real
ALTER TABLE test4_03 ADD sum_credit smallint
ALTER TABLE test4_03 ADD did varchar(2)
CREATE TABLE test AS
SELECT * FROM pub.student_course NATURAL JOIN pub.course
UPDATE test4_03
SET sum_credit=
(
SELECT SUM(credit)
FROM test
WHERE
(
test.score >59
AND test4_03.sid = test.sid
)
GROUP BY sid
)
UPDATE dbtest SET test=4
SELECT * FROM dbscore
剩余5页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据优势下的高中英语教学策略.docx
- 云计算环境下的网络安全估计模型态势仿真.doc
- ATS单片机的智能电热水器的设计方案.doc
- SQL数据库课程研究设计模板.doc
- 51单片机的智能频率计课程方案设计书.doc
- 企业信息化管理建议.docx
- 网站的规划与建设.ppt
- 计算机信息系统保密技术及安全管理.doc
- Excel表格模板:上半年销售业绩分析报告.xlsx
- DSP嵌入式图像处理方案设计书.doc
- 项目管理系统化建设内容及验收标准.doc
- 信息管理与计算机应用技术的融合研究.docx
- 微课在高职《计算机应用基础》课程单元教学中的设计与应用思考.docx
- 图书信息管理系统-c语言.doc
- 以单片机ATS为控制核交通灯设计.doc
- NAND-Flash的驱动程序设计措施.doc


