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

news2024/11/26 11:51:37

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

文章目录

  • 1. 检索数据
    • 1.1 检索指定的列
    • 1.2 检索不同的行
  • 2. 排序检索数据
    • 2.1 按照某个列名排序
    • 2.2 按照多个列排序
    • 2.3 指定排序方向
  • 3. 小结

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 (无需注册,可半价购买)简直不要太香。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2210497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QD1-P20 CSS 简单了解

本节学习:简单了解CSS,什么是什么CSS,如何在HTML中使用CSS? ‍ 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p20 CSS是什么? CSS(层叠样式表,Cascading Style Sheets)是一种样…

【Java面试——基础知识——Day2】

1.面向对象基础 1.1 面向对象和面向过程的区别 面向过程编程(POP):面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象编程(OOP):面向对象会先抽象出对象&#…

Jetbrains Fleet1.41 发布:新特性杀疯了

决定我们自身的不是过去的经历 而是我们自己赋予经历的意义 因为过去的经历 是否影响他 如何影响他 完全由他自己决定 有时候 克服恐惧最好的办法 就是把恐惧说出来 前几日 jetbrains fleet1.41 正式发布了,这次的发布可谓是真的诚意满满,包含了多个开发者非常喜欢的小…

Bootstrap 4 多媒体对象

Bootstrap 4 多媒体对象 引言 Bootstrap 4 是目前最受欢迎的前端框架之一,它提供了一套丰富的工具和组件,帮助开发者快速构建响应式和移动设备优先的网页。在本文中,我们将重点探讨 Bootstrap 4 中的多媒体对象(Media Object)组件,这是一种用于构建复杂和灵活布局的强大…

Java:数据结构-LinkedList和链表(2)

一 LinkedList LinkedList的方法的实现 1.头插法 public class MyLinkedList implements IList{static class ListNode{public int val;public ListNode next;public ListNode prev;public ListNode(int val){this.valval;}}public ListNode head;public ListNode last;Overr…

基于stm32的HAL库的串口实现不定长数据收发(三)(接收中断)

串口实现不定长数据收发(接收中断) 1头文件 #include "uart1.h" #include "string.h" #include "stdio.h" #include "sys.h"#define UART1_RX_BUF_SIZE 128 //接收 #define UART1_TX_BUF_SIZE 64 //发送 发送…

量化选股:原理与实战指南(一)

🌟作者简介:热爱数据分析,学习Python、Stata、SPSS等统计语言的小高同学~🍊个人主页:小高要坚强的博客🍓当前专栏:《Python之量化交易》🍎本文内容:量化选股:原理与实战指南(一)🌸作者“三要”格言:要坚强、要努力、要学习 目录 引言 一、量化选股的基本概…

docker入门(二)之容器命令及私有仓库的部署(本地和harbor)

容器命令: 1.启动容器 接下来演示在docker下运行一个ubuntu系统,从中学习各容器命令。 --name"容器新名字" 为容器指定一个名称(不指定的话会随机分配一个名字)。 -d: 后台运行容器并返回容器ID,也就启动守护式容器(后台运行) -…

【Golang】关于Go语言中的定时器原理与实战应用

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【计算机网络 - 基础问题】每日 3 题(三十八)

✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…

ROS2 “通信方式” 参数服务器

为什么加“通信方式”引号,因为我觉得他就不算通信,最多最多就是一个动态加载参数方式 所以ros通信方式就三种,topic service action 别犟,犟就是你对! 常用的 param参数方法如下: # declare_parameter…

基于Java的旅游网站管理系统—计算机毕业设计源码39235

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对旅游网站等问题,对旅游网站进行…

项目计划书,项目经理日常文档,项目管理计划,项目总体实施计划,总体测试计划,总体运维计划,总体开发计划(word原件获取)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件资料清单列表部分文档: 工作安排任务书…

Shuffle Net系列详解 (4) Shuffle Net V2实践部分讲解 for pytorch版本

Shuffle Net 系列 实践部分1.文件划分2.Block(差异文件)3.Network(差异文件)3.总结 实践部分 在看代码之前先叠加一个甲,本文并未跑出来这个实验结果。实验条件有限,论文中采用的ImageNet dataset 数据集有些太大了。后续会出一个简化版本的代码进行实践…

探索Spring Cloud Config:构建高可用的配置中心

目录 认识Spring Cloud ConfigConfig Server读取配置文件步骤1:(1)创建config-server项目(2)在config-server中开启Config Server功能(3)在config-server配置文件进行相关配置(4&…

深入理解 Transformer:构建先进 NLP 模型的关键技术

目录 一、Transformer 为何如此重要?二、Transformer 的核心组成部分1. 注意力机制2. 位置编码3. 前馈神经网络 三、Transformer 的训练方法1. 无监督预训练2. 有监督微调 四、Transformer 的应用场景五、总结与展望 在自然语言处理(NLP)的领…

【JAVA-数据结构】二叉树

这篇是二叉树相关内容。 1. 树型结构 1.1 概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。朝把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶下的。它具有以…

外卖点餐系统小程序的设计

管理员账户功能包括:系统首页,个人中心,外卖员管理,餐厅管理,用户管理,菜品分类管理,菜品信息管理,外卖订单管理,订单配送管理 微信端账号功能包括:系统首页…

Java项目实战II基于Java+Spring Boot+MySQL的智能物流管理系统 (源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着电子商…

人、机不同的学习机理

在人机协同的过程中,断点(或称为障碍点)是指可能导致人机合作效率下降、决策失误或任务失败的关键环节。以下是一些常见的断点及其影响:人类和机器之间的信息传递不畅,可能导致误解或遗漏关键信息,技术术语…