SQLSERVER2000实现学生管理系统操作
需积分: 9 144 浏览量
更新于2024-09-15
1
收藏 26KB DOCX 举报
"数据库学生管理系统SQL,包括数据库创建、表结构设计、数据录入、SQL查询以及数据修改和删除操作。"
在数据库管理中,SQL(Structured Query Language)是一种用于管理和处理关系数据库的标准语言。在这个学生管理系统中,我们将通过SQL SERVER 2000来创建并操作数据库。首先,我们需要建立数据库,名为STUDENT加上个人学号,这可以在SQL Server的可视化界面中完成,也可以通过SQL语句实现。建立数据库的步骤通常包括新建数据库对象并指定名称。
接着,我们创建三个表:学生信息表(s+学号)、课程信息表(c+学号)和成绩信息表(sc+学号)。每个表都有特定的字段来存储相应的信息。例如,学生信息表可能包括学号(主键)、姓名、性别和出生日期;课程信息表可能包含课程代码、课程名称和学分;成绩信息表则涉及学号(外键)、课程代码和分数。为了确保数据完整性,我们需要设置主键约束(如学号)和外键约束(如课程代码),同时可以添加自定义规则,比如性别字段只能是'男'或'女'。
接下来,使用SQL语句进行数据录入。例如,INSERT INTO语句用于向表中添加新记录。这需要为每个字段指定相应的值。
对于查询操作,我们可以通过SELECT语句实现。以下是一些示例查询:
1. 查询所有学生:`SELECT * FROM s+学号`
2. 查询年龄大于23岁的男学生:`SELECT * FROM s+学号 WHERE age > 23 AND sex = '男'`
3. 查询姓杨且为藏族的学生:`SELECT * FROM s+学号 WHERE name LIKE '杨%' AND nationality = '藏'`
4. 查询不及格的成绩:`SELECT sno, cno, cname, score FROM sc+学号 WHERE score < 60`
5. 查询学分超过3.5学分且成绩及格的学号等信息:`SELECT sno, cno, cname, credit, score FROM sc+学号 WHERE credit > 3.5 AND score >= 60`
6. 查询学生的所有成绩:`SELECT sno, sname, sex, cno, cname, score FROM s+学号 JOIN sc+学号 ON s+学号.sno = sc+学号.sno JOIN c+学号 ON sc+学号.cno = c+学号.cno`
7. 统计选课人次和人数:需要用到GROUP BY和COUNT函数
8. 统计每位同学的总分、平均分、最高分、最低分:使用聚合函数SUM, AVG, MAX, MIN
9. 查询没有选课的学生:使用LEFT JOIN和IS NULL条件
10. 查询选修了全部课程的学生:比较复杂,可能需要子查询和全连接
11. 查询成绩最高的学生:使用ORDER BY和LIMIT子句
12. 查询专业代码为'的操作系统课程的学生:`SELECT * FROM s+学号 WHERE sno LIKE '__操作系统%'
数据修改和删除操作包括:
1. 删除学号为“08110207”的所有课程:`DELETE FROM sc+学号 WHERE sno = '08110207'`
2. 删除没有选课的学生:`DELETE FROM s+学号 WHERE sno NOT IN (SELECT DISTINCT sno FROM sc+学号)`
3. 更新学生信息:`UPDATE s+学号 SET sno = '新学号', ... WHERE sno = '08050412'`
4. 删除姓名为“王珊珊”的学生:`DELETE FROM s+学号 WHERE sname = '王珊珊'`
5. 修改民族:`UPDATE s+学号 SET nationality = '藏' WHERE sname = '杨彤'`
这些SQL语句覆盖了数据库操作的基本要素,包括创建、查询、更新和删除数据,为构建和管理学生信息系统提供了基础。
2016-06-09 上传
2018-08-08 上传
206 浏览量
2024-06-19 上传
2020-06-25 上传
2011-06-14 上传
only执li之手
- 粉丝: 0
- 资源: 1
最新资源
- ali-cdn-url:获取阿里云cdn请求地址
- Python3实战Spark大数据分析及调度-第11章 Azkaban实战篇.zip
- 第一个Visual C++应用程序的源码 关于鼠标坐标适时显示
- svelteblox:消费cueblox api的公共网站
- NokiaLCD:诺基亚 5110 LCD 的 AVR 库
- 基于matlab的图像椒盐噪声的平滑效果⽐较
- Latex Documentclass Plan Nacional I+D+i:国家研发计划的LaTeX模板-开源
- Handwritten-Digits-Classification:一种新颖的模型
- VC++ MFC编程实例-新年好
- 6-12-嵌入式省赛.zip
- FriendsFinder:https://enigmatic-taiga-02028.herokuapp.com
- Topic-Constrained-Bodies
- afghanistan-2014-analysis:为我们的阿富汗选举分析托管代码
- hello-world:这是我的第一个仓库
- Webdriver-io-project
- BostonHaskell2015:[Talk] 用 EDSL 构建讨论