MySQL检索数据和排序数据
目录
一、select语句
1.检索单个列(SELECT 列名 FROM 表名;)
2.检索多个列(SELECT 列名1,列名2,列名3 FROM 表名;)
3.检索所有的列(SELECT * FROM 表名;)
4.检索不同的行(SELECT 列名 FROM 表名;)
5.限制结果(SELECT 列名 FROM 表名 LIMIT 行数;)
6.使用完全限定的表名(SELECT 表名.列名 FROM 表名;)
二、排序检索数据
1.排序数据
2.按多个列排序
3.指定排序方向
4.limit和order by子句的结合使用
一、select语句
最经常使用的语句就是select语句,它的作用是从一个或多个表中检索信息。为了使用select检索数据,至少给出两条信息-----想选择什么以及从什么地方选择。
1.检索单个列(SELECT 列名 FROM 表名;)
输入:select prod_name from products;
输出:

注意:结束SQL语句:如果使用mysql命令行,多条SQL语句必须以分号(;)分隔,且SQL语句必须加上分号来结束。
SQL语句的大小写问题:SQL语句不区分大小写!!!SELECT和select是相同的,写成Select也没有关系。但是把SQL的关键字使用大写,表名等使用小写,可以使代码更易于阅读和调试。
2.检索多个列(SELECT 列名1,列名2,列名3 FROM 表名;)
使用同一个SELECT语句检索多个列,需要在每个列名之后加上逗号,最后一个列名不需要加。
输入: select vend_id,vend_name from vendors;

3.检索所有的列(SELECT * FROM 表名;)
可以通过在实际列名的位置使用星号(*)通配符来检索。
输入:select * from vendors;

注意:除非需要检索表中的所有列,否则最好不使用(*)通配符,检索不需要的列会降低检索效率和应用程序的性能。
4.检索不同的行(SELECT 列名 FROM 表名;)
假如想要获取所有的ID
输入:select vend_id from vendors;

注意:如果所获取的数据有重复出现的,可以使用DISTINCT关键字,此关键字指示MySQL只返回不同的值。即(SELECT DISTINCT vend_id FROM vendors;)
5.限制结果(SELECT 列名 FROM 表名 LIMIT 行数;)
为了返回第一行或者前几行,可以使用LIMIT子句。
输入:select vend_id from vendors limit 4;

注意: 如果要返回下一个4行,即从行4开始的4行,如下所示:
select vend_id from vendors limit 4,4;
如果行数不够,MySQL只返回能返回的行数。
6.使用完全限定的表名(SELECT 表名.列名 FROM 表名;)
使用完全限定的名字来引用列(同时使用表名和列名)。
输入: select vendors.vend_name from vendors;

注意:表名也可以是限定的,前提是这个表名确实存在于某个数据库中。
二、排序检索数据
1.排序数据
一般来说返回表中的某个列没有特定顺序,但是检索出来的数据也不是纯粹的随机显示,而是以底层表中出现的顺序显示。如果数据后来进行过更新或删除,这个顺序就会受到MySQL重用回收存储空间的影响。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。
为了明确的排序用SELECT检索出来的数据,可以使用ORDER BY 子句。ORDER BY子句取一个或多个列的名字对输出进行排序。输出结果将以字母顺序进行排序
格式:SELECT 列名 FROM 表名 ORDER BY 列名;
输入: select vend_name from vendors order by vend_name;

2.按多个列排序
为了按多个列进行排序,则需要指定列名,列名之间用逗号(,)分隔。
格式:SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1,列名2,列名3;
输入:select prod_price,prod_name from products order by prod_price,prod_name;

以上排序按照价格进行排序。仅在多个行具有相同的prod_price值时才按照prod_price排序。如果prod_price列中的值是唯一的,则不会按照prod_price排序。
3.指定排序方向
数据排序不只是升序排序(A-Z),也有降序排序(Z-A),为了使用降序排序,可以使用DESC关键字。
格式:SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1 DESC;
输入: select prod_price,prod_name from products order by prod_price desc;

如果要使用多个列进行排序怎么办?则可以降序进行排序之后再对产品进行排序。
desc只对prod_price有效,而其他的依旧以升序排序。
示例:
注意:如果想要多个列都降序排序,则每个列后都要加上desc关键字。
4.limit和order by子句的结合使用
使用limit和order by的组合,可以找到某个列中最高或最低的值。
输入:select prod_price,prod_name from products order by prod_price desc limit 1;

注意:在给出order by子句时,要保证它位于from之后,如果使用limit,它必须位于order by之后。使用子句顺序不对将会产生错误。
即from------>order by------->limit
相关文章:
MySQL检索数据和排序数据
目录 一、select语句 1.检索单个列(SELECT 列名 FROM 表名;) 2.检索多个列(SELECT 列名1,列名2,列名3 FROM 表名;) 3.检索所有的列(SELECT * FROM 表名;) 4.检索不同的行&#x…...
通过STM32内部ADC将烟雾传感器发送的信号值显示在OLED上
一.CubeMX配置 首先我们在CubeMX配置ADC1, 设置一个定时器TIM2定时1s采样一次以及刷新一次OLED, 打开IIC用于驱动OLED显示屏。 二.程序 在Keil5中添加好oled的显示库,以及用来显示的函数、初始化函数、清屏函数等。在主程序中初始化oled,并将其清屏。…...
ZEPHYR 快速开发指南
简介 国内小伙伴在学习zephyr的时候,有以下几个痛点: 学习门槛过高github访问不畅,下载起来比较费劲。 这篇文章将我自己踩的坑介绍一下,顺便给大家优化一些地方,避免掉所有的坑。 首先用virtualbox 来安装一个ubu…...
【FPGA + 串口】功能完备的串口测试模块,三种模式:自发自收、交叉收发、内源
【FPGA 串口】功能完备的串口测试模块,三种模式:自发自收、交叉收发、内源 VIO 控制单元 wire [1:0] mode;vio_uart UART_VIO (.clk(ad9361_l_clk), // input wire clk.probe_out0(mode) // output wire [1 : 0] probe_out0 );将 mod…...
初步了解预训练语言模型BERT
本文字数::4024字 预计阅读时间:12分钟 BERT是由Google提出的预训练语言模型,它基于transformer架构,被广泛应用于自然语言处理领域,是当前自然语言处理领域最流行的预训练模型之一。而了解BERT需要先了解注…...
Android Hook系统 Handler 消息实现
前言 主线程的Handler 主要依赖于 ActivityThread,Android是消息驱动,比如view的刷新,activity的创建等,如果能打印系统层Handler消息日志,就需要对于系统层的Handler 进行Hook 原理 ActivityThread中 mH对象主要负责…...
R语言从入门到精通之【R语言的使用】
系列文章目录 1.R语言从入门到精通之【R语言介绍】 2.R语言从入门到精通之【R语言下载与安装】 3.R语言从入门到精通之【R语言的使用】 文章目录 系列文章目录一、新手上路1.R语句构成2.获取帮助3.工作空间二、包1.包的安装2.实践应用总结一、新手上路 1.R语句构成 R语句由函…...
WPF实战学习笔记29-登录数据绑定,编写登录服务
添加登录绑定字段、命令、方法 修改对象:Mytodo.ViewModels.ViewModels using Mytodo.Service; using Prism.Commands; using Prism.Events; using Prism.Mvvm; using Prism.Services.Dialogs; using System; using System.CodeDom.Compiler; using System.Collec…...
c++函数式编程:统计文件字符串,文件流
头文件 #include <iostream> #include <fstream> #include <string> #include <sstream> #include <algorithm> #include <vector>统计方法 int count_lines(const std::string &filename) {std::ifstream in{filename};return std:…...
scp命令----跨服务器传输文件
scp命令 Linux scp 命令用于 Linux 之间复制文件和目录。 scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 一、Linux scp 命令 以下是scp命令常用的…...
React Dva项目中模仿网络请求数据方法
我们都已经选择react了 那么自然是一个前后端分离的开发形式 至少我在公司中 大部分时候是前后端同时开发的 一般你在开发界面没有接口直接给你 但你可以和后端约定数据格式 然后在前端模拟数据 我们在自己的Dva项目中 在根目录下的 mock 目录下创建一个js文件 我这里叫 filmDa…...
【云原生】Docker容器命令监控+Prometheus监控平台
目录 1.常用命令监控 docker ps docker top docker stats 2.weave scope 1.下载 2.安装 3.访问查询即可 3.Prometheus监控平台 1.部署数据收集器cadvisor 2.部署Prometheus 3.部署可视化平台Gragana 4.进入后台控制台 1.常用命令监控 docker ps [rootlocalhost ~…...
DBA 职责及日常工作职责
DBA 职责及日常工作职责: 1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境. 2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案. 3.根据开发人员设计的应用系统需求创建数据库存储结构. 4.根据开发人员设计的应用系统需求创建数据库对象 5…...
如何利用量化接口进行数据分析和计算?
量化交易作为一种利用数据和算法进行投资的方式,数据分析和计算是量化交易的核心。量化接口作为连接量化交易者和交易所的桥梁,提供了获取市场数据和执行交易指令的功能,为量化交易的数据分析和计算提供了基础。 一、数据获取: 市…...
electron-egg 加密报错
electron框架:electron-egg 解决方式 npm uninstall bytenode npm install bytenode1.3.6node:internal/modules/cjs/loader:928 throw err; ^ Error: Cannot find module ‘node:assert/strict’ Require stack: D:\electron-egg-test\new-electron-egg\electr…...
循环队列的基本操作(3种处理方式,2种实现方式)
为区分队空队满有3种处理方式: ①牺牲一个单元 ②增设表示元素个数的数据成员 ③增设tag数据成员 1.front->队头元素,rear->队尾元素下一位置 1.1牺牲一个单元 1.1.1定义 #define MaxSize 50 typedef struct {ElemType data[MaxSize];int fron…...
react的特点
React的特点包括以下几个方面: 组件化:React将用户界面分解成小而独立的组件,每个组件都有自己的状态和属性。通过组合这些组件,可以构建复杂而灵活的用户界面。 虚拟DOM:React使用虚拟DOM(Virtual DOM&am…...
MATLAB实现图像处理:图像识别、去雨、去雾、去噪、去模糊等等(附上20个完整仿真源码)
图像处理是计算机视觉领域的重要研究方向,MATLAB是一种功能强大的数学计算软件,可以用于图像处理和分析。下面是一些简单的MATLAB图像处理代码示例,包括图像增强、边缘检测、形态学处理、特征提取等。 文章目录 1. 图像增强2. 边缘检测3. 形态…...
cmake stm32 模板
文件结构 ├─.vscode ├─build ├─cmake ├─Drivers │ ├─CMSIS │ │ ├─Device │ │ │ └─ST │ │ │ └─STM32F1xx │ │ │ ├─Include │ │ │ └─Source │ │ │ └─Templates │ │ └─Include │ └─STM32F1xx_HAL_Driver │ ├─Inc │ │ └─Leg…...
STM32 UDS Bootloader开发-上位机篇-CANoe制作(2)
文章目录 前言CANoe增加NodeCAPL脚本获取GUI中的参数刷写过程诊断仪在线接收回调函数发送函数总结前言 在上一篇文章中,介绍了UDS Bootloadaer上位机软件基于CANoe的界面设计。本文继续介绍CAPL脚本的编写以实现刷写过程。 CANoe增加Node 在开始编写CAPL之前,需要在Simula…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...
