【SQL教程】Day04-01 关系数据库中最常用的操作 —— 查询

SQL数据库基本查询操作教程

在关系型数据库中,查询操作是最常见的操作之一。通过SQL查询,我们能够从数据库中获取所需的数据。在本教程中,我们将通过一个简单的实例,向大家介绍如何使用SQL进行查询操作。

1. 准备数据

为了便于讲解和练习,我们准备了两张表——students 表和 classes 表。通过这两张表,您可以练习基本的查询操作。

1.1 students 表结构与数据

students 表用于存储学生的基本信息,表结构如下:

idclass_idnamegenderscore
11小明M90
21小红F95
31小军M88
41小米F73
52小白F81
62小兵M55
72小林M85
83小新F91
93小王M89
103小丽F85

1.2 classes 表结构与数据

classes 表用于存储班级的信息,表结构如下:

idname
1一班
2二班
3三班
4四班

1.3 数据存储方式

由于我们使用的是 AlaSQL 内存型数据库,这些表和数据会在页面加载时导入,并且仅存储在浏览器内存中。如果页面刷新,数据会恢复到初始状态。

2. 使用 MySQL 练习

如果你希望在 MySQL 环境中进行练习,可以通过以下步骤导入数据:

1. 下载 SQL 脚本:下载 init-test-data.sql 脚本,脚本中包含创建数据库和表的 SQL 语句。

2. 在命令行运行脚本


 

 

bash$ mysql -u root -p < init-test-data.sql

 

执行上述命令后,将自动创建一个名为 test 的数据库,并在其中创建 students 和 classes 两张表,以及必要的初始化数据。

与内存数据库不同,MySQL 会将所有修改永久保存。如果您希望恢复到初始状态,只需重新运行该 SQL 脚本。

3. 基本查询操作

3.1 查询所有学生信息

最简单的查询就是获取表中的所有数据。在 SQL 中,使用 SELECT 语句可以从表中查询数据。


 
sqlSELECT * FROM students;

 

这条语句的意思是从 students 表中查询所有列(* 表示所有列)的数据。

3.2 查询特定的列

如果只需要查询某些特定的列,可以指定列名。例如,查询学生的 name 和 score 列:


 
sqlSELECT name, score FROM students;

 

这条语句将返回 students 表中所有学生的姓名和成绩。

3.3 使用 WHERE 过滤数据

通过 WHERE 子句可以过滤查询结果。例如,查询所有成绩大于 80 的学生:


 
sqlSELECT name, score FROM students WHERE score > 80;

 

这条语句将返回成绩大于 80 的学生姓名和成绩。

3.4 使用 ORDER BY 排序

如果需要按某一列的值进行排序,可以使用 ORDER BY 子句。例如,按成绩降序排列:


 
sqlSELECT name, score FROM students ORDER BY score DESC;

 

这条语句将按成绩从高到低排列所有学生的姓名和成绩。

3.5 联接查询(JOIN)

假设您想查询每个学生的姓名和他们所属的班级,可以通过 JOIN 操作将 students 表与 classes 表连接。例如,查询学生的姓名及其所属班级:


 
sqlSELECT students.name, classes.name AS class_nameFROM studentsJOIN classes ON students.class_id = classes.id;

 

这条语句通过 JOIN 将 students 表与 classes 表连接,并返回每个学生的姓名以及他们所在班级的名称。

4. 小结

在关系数据库中,查询操作是最基本也是最常用的操作。通过 SQL 的 SELECT 语句,我们可以从数据库中提取所需的数据。通过 WHEREORDER BY 等子句,我们可以对查询结果进行过滤和排序。同时,JOIN 操作可以让我们跨表查询相关数据。

下次,我们将继续深入探讨 SQL 的其他查询技巧和功能,敬请关注!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值