"这篇笔记主要涵盖了数据库原理及应用中的综合练习,包括创建数据库和数据库表、简单的数据查询以及复杂的数据查询。"
在数据库管理中,理解如何创建数据库和数据库表是基础。通常,创建数据库涉及定义数据库的结构,如表的字段、数据类型和约束条件。在实际操作中,我们可以使用SQL语句来创建数据库和表,例如`CREATE DATABASE`和`CREATE TABLE`。不过,此笔记中提到这部分内容过于简单,建议读者自行根据实际需求设计表结构。
简单的数据查询是数据库操作中最常用的部分。这里给出了几个示例:
1. 查询所有学生的基本信息,包括学号(s_no)、班级号(class_no)、姓名(s_name)、性别(s_sex)和出生日期(s_birthday)。这可以通过使用`SELECT`语句来实现,例如:`SELECT s_no, class_no, s_name, s_sex, s_birthday FROM Student`。或者,使用通配符`*`获取所有列:`SELECT * FROM Student`。
2. 显示所有学生的学号(s_no)和姓名(s_name),使用`SELECT s_no, s_name FROM Student`即可。
3. 查询所有男同学的学号(s_no)、姓名(s_name)和出生日期(s_birthday),可以添加一个`WHERE`子句来筛选性别为“男”的记录:`SELECT s_no, s_name, s_birthday FROM Student WHERE s_sex = '男'`。
4. 查找所有在“1980-01-01”之前的女同学,结合`WHERE`子句和比较运算符:`SELECT s_no, s_name, s_sex, s_birthday FROM Student WHERE s_sex = '女' AND s_birthday < '1980-01-01'`。
5. 查询所有名字以“李”开头的男同学,使用`LIKE`操作符配合通配符:`SELECT s_no, s_name, s_birthday FROM Student WHERE s_sex = '男' AND s_name LIKE '李%'`。
6. 找出所有名字中包含“一”字的同学,同样利用`LIKE`操作符:`SELECT s_no, s_name FROM Student WHERE s_name LIKE '%一%'`。
7. 查询职称不是“讲师”的教师信息,通过否定条件进行筛选:`SELECT t_no, t_name, t_title FROM Teacher WHERE t_title <> '讲师'`。
8. 查找所有选修了课程但未参加考试(成绩为空)的同学的学号,可以使用`IS NULL`判断成绩字段:`SELECT s_no FROM Choice WHERE score IS NULL`。
9. 要找出所有考试不及格(假设不及格分数小于60)的同学,可以使用`WHERE`子句与比较运算符:`SELECT s_no FROM Score WHERE score < 60`。
这些查询都是基于SQL语言的基本用法,包括`SELECT`、`FROM`、`WHERE`和`LIKE`等关键字,对于理解和操作关系型数据库至关重要。通过实践这些查询,读者可以加深对数据库查询的理解,并能有效地从数据库中提取所需信息。