MySQL基础教程(二):检索数据和排序检索数据

本篇文章主要介绍通过 MySQL 中的 SELECT, DISTINCT, ORDER BY, LIMIT语句完成最基本的数据检索和对检索到的数据进行排序。最基本的数据检索是指我们通过 SELECT 语句查询表中的某些列或者行。对检索到的数据进行排序是指对数据以某种规则显示,例如按照某个字段升序或者降序显示等等。

1. 检索数据

为了使用 SELECT 语句检索表数据,必须至少给出两条信息——想选择什么,以及从哪张表或某个结果集合(多表连接或者某个SQL语句的查询结果)中选择。

1.1 检索指定的列

通过指定列名可以检索指定的列(一列或者多列)。

  1. 查询某张表中指定的列:select col_name from tablename;
    在这里插入图片描述
    说明:
    这会查询出所有相关的行,数据没有经过过滤和排序。
    在一行输入中输入多条 SQL 语句,必须使用分号隔开。单条语句则不需要使用分号,但是最好加上,这是一个好习惯。
    此外,SQL 关键字语句不区分大小写。许多 SQL 开发人员喜欢对所有SQL 关键字使用大写,而对所有
    列和表名使用小写,这样做使代码更易于阅读和调试。
  2. 检索多个列时,列名之间需要用英文逗号,分割:SELECT prod_id, prod_name, prod_price FROM products;
    在这里插入图片描述
  3. 检索所有的列:SELECT * FROM tablename;
    检索所有的列会导致降低程序的性能。

1.2 检索不同的行

有时候,我们对显示的结果需要进行过滤,例如只显示某列中不同的字段,以及按照指定的行数显示。

  1. 只显示不同的行:SELECT DISTINCT vend_id FROM products;
    在这里插入图片描述

    注意:不能单独对某个列使用 DISTINCTDISTINCT 关键字应用于所有列而不仅是前置它的列。例如 SELECT DISTINCT vend_id, prod_price FROM products;,这条语句的目的是从 products 表中找出所有唯一的供应商ID(vend_id)及其对应的产品价格(prod_price),即如果有多个产品具有相同的供应商ID和相同的价格,它们在结果集中只会出现一次。

  2. 显示输出的行数,例如只显示 5 行的数据:SELECT prod_name FROM products LIMIT 5;
    在这里插入图片描述
    也可以指定从哪一行开始输出,然后连续输出几行。注意,0行表示第1行。
    在这里插入图片描述

2. 排序检索数据

本节介绍如何使用 ORDER BY 语句对结果进行排序。

2.1 按照某个列名排序

SELECT prod_name FROM products ORDER BY prod_id;
但排序的关键字不一定非要出现在显示的结果中。
在这里插入图片描述

2.2 按照多个列排序

有时候,对于按照某一个列排序后,我们还希望按照其它的列排序。例如,先后按照姓、名、年龄等排序。
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name;
在这里插入图片描述

2.3 指定排序方向

数据排序不限于升序排序(从A到Z)。这只是默认的排序顺序,还可以使用 ORDER BY 子句以降序(从Z到A)顺序排序。为了进行降序排序,必须指定 DESC 关键字。

  1. 按照价格降序排序
    SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC;
    在这里插入图片描述
  2. 如果指定了多个列排序,那么只有使用了 DESC 关键字的那一列会按照降序排序。如果需要所有的列按照降序排序,那么每一个列名都必须使用 DESC 关键字。
    SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC , prod_name;
    在这里插入图片描述

结合LIMIT的关键字,我们就能在 products 表中查询最高价格和最低价格了。
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC LIMIT 1;
在这里插入图片描述
需要注意的是,ORDER BY 关键字必须位于 FROM 关键字之后,LIMIT 关键字位于 ORDER BY 关键字之后。

3. 小结

本节的主要内容:

  • 查询某个列;
  • 对查询结果进行去重或者显示指定的行;
  • 对查询结果按照列(单列或者多列)进行排序(默认是升序)。

各位道友,如有收获,记得一键三连呐。

最后,给各位道友介绍一下使用国外虚拟卡开通一些国外服务的渠道,当前我在用的是 wildcard,使用我的注册邀请码 IOQ1YDHH 注册,能得 2 美刀,抵消一部分的开卡费用。自己买个 Github CopilotChatGPT Plus (无需注册,可半价购买)简直不要太香。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值