SQL数据库期末复习备考必备.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### SQL数据库期末复习备考必备知识点解析 #### 一、数据库操作基础 - **数据库的创建** 使用`CREATE DATABASE`语句来创建一个新的数据库。例如,在本例中创建了一个名为`stuManage`的数据库: ```sql CREATE DATABASE stuManage; ``` - **表的创建** 创建表时需要指定表名以及表中的各个字段及其属性。例如,创建一个名为`department`的表: ```sql USE stuManage; -- 指定在哪个数据库中执行操作 GO CREATE TABLE department ( dNO VARCHAR(6) PRIMARY KEY, -- 部门编号 dName VARCHAR(50), -- 部门名称 dTel VARCHAR(20) -- 部门电话 ); ``` - **数据插入** 使用`INSERT INTO`语句向表中插入数据。例如,向`department`表中插入一条记录: ```sql USE stuManage; INSERT INTO department (dNO, dName, dTel) VALUES ('115500', '金融系', '02085560371'); ``` - **数据修改** 使用`UPDATE`语句来更新已存在的记录。例如,将满足条件的教师的职称更新为“副教授”: ```sql USE stuManage; UPDATE teacher SET tRank = '副教授' WHERE tBirth > '1979/12/31'; ``` - **数据删除** 使用`DELETE`语句来删除表中的记录。例如,删除名为“金融系”的部门记录: ```sql USE stuManage; DELETE FROM department WHERE dName = '金融系'; ``` - **数据库备份** 使用`BACKUP DATABASE`语句来备份整个数据库到指定位置。例如,备份`stuManage`数据库到硬盘上的某个路径: ```sql BACKUP DATABASE stuManage TO DISK = 'F:\DATA\HOMEWORK1\Manage.bak' WITH FORMAT, NAME = '数据的完整备份'; ``` #### 二、数据查询基础 - **基本查询** 使用`SELECT`语句进行数据查询。 - 查询特定专业的学生信息(学号、姓名、性别和出生年月): ```sql SELECT sno, sname, ssex, sbirth FROM student WHERE mno = '100165'; ``` - 查询职称不是“教授”的所有教师的信息: ```sql SELECT * FROM teacher WHERE trank <> '教授'; ``` - 查询不姓“陈”的学生学号和姓名: ```sql SELECT sno, sname FROM student WHERE sname NOT LIKE '陈%'; ``` - 查询特定专业中1991年之前出生的学生信息: ```sql SELECT sno, sname, ssex, sbirth FROM student WHERE (mno = '100165') AND (sbirth < '1991/01/01'); ``` - **高级查询** 使用更复杂的`SELECT`语句进行数据处理。 - 计算学生的年龄: ```sql SELECT sno, sname, CAST((GETDATE() - sbirth) AS INT) / 365 AS 年龄 FROM student; ``` - 按照特定顺序排序查询结果: ```sql SELECT sno, sname, Ssex, sbirth, mno FROM student ORDER BY mno, sbirth DESC; ``` - 查询某学生的各门课程成绩统计信息(平均分、最高分和最低分): ```sql SELECT AVG(grade) AS 平均分, MAX(grade) AS 最高分, MIN(grade) AS 最低分 FROM skc WHERE sno = '091650102'; ``` - 查询成绩排名前三的学生及其成绩: ```sql SELECT TOP 3 sno, grade FROM skc WHERE kno = '0901120001' ORDER BY grade DESC; ``` - **条件查询** 使用`LIKE`和逻辑运算符进行条件筛选。 - 查询姓名中包含“秋”或以“张”开头的学生: ```sql SELECT * FROM student WHERE sname LIKE '%秋%' OR sname LIKE '张%'; ``` - **聚合函数与分组** 使用聚合函数和`GROUP BY`对查询结果进行汇总。 - 查询每门课程的成绩统计信息(平均分、最低分、最高分): ```sql SELECT kno, MAX(grade), MIN(grade), AVG(grade) FROM skc GROUP BY kno; ``` - 查询平均分大于80分且至少选修了2门课程的学生学号: ```sql SELECT student.sno, AVG(grade) AS 平均分 FROM student JOIN skc ON student.sno = skc.sno GROUP BY student.sno HAVING AVG(grade) > 80 AND COUNT(*) >= 2; ``` #### 三、多表查询 - **联表查询** 使用`INNER JOIN`连接多个表。 - 查询每个学生的学号、姓名、性别、专业名称等信息: ```sql SELECT sno, sname, ssex, mname, dname FROM student s INNER JOIN Major m ON s.mno = m.mno INNER JOIN department d ON m.dno = d.dno; ``` 以上知识点涵盖了SQL数据库操作的基础部分,包括创建数据库、创建表、数据的增删改查、备份恢复以及各种查询技巧。通过这些知识点的学习,可以帮助理解和掌握SQL语言的基本用法,并能够应对期末考试中的大部分题目。
- 粉丝: 30
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Complex-YOLO点云上的实时 3D 物体检测 pytorch Darknet.zip
- 基于HOG+SVM的行人检测,包含三个python代码和一个训练好的模型Model,两张检测图片
- 扫雷游戏的实现,运行版本
- eclipse安装包eclipse-inst-jre-win64.zip
- HCIE数通V3.0宝典全面解析路由协议
- 基于AT89S52单片机数字音乐盒的设计.ASM
- caffe 中的 YOLOv3 模型.zip
- Android流式布局-开发类似网页的热门标签
- Android Live Demo 使用 ncnn 进行 Yolov7 推理.zip
- 像写SQL一样写ORM,链式方法调用,结合Lambda,枚举 灵活适应各种情况 使用不同种类数据库的实体生成器,支持:MySQL,MongoDb,Excel,一致性的调用方法 对数据进行分组,方便