当前位置: 首页 > news >正文

mysql之基本select语句 运算符 排序分页

1.SQL的分类

DDL:数据定义语言.

  • CREATE

  • ALTER

  • DROP

  • RENAME

  • TRUNCATE

DML: 数据操作语言.

  • INSERT

  • DELETE

  • UPDATE

  • SELECT 重中之重

DCL: 数据控制语言.

  • COMMIT

  • ROLLBACK

  • SAVEPOINT

  • GRANT

  • REVOKE

2.SQL语言的规则与规范

1.基本规则

  • SQL可以在一行或多行,为了提高可读性,通常写在多行

SELECT *  FROM emp;
  • 每条命令以;或\g或\G结束

  • 关键字不能被缩写也不能分行

  • 关于标点符号

    • 必须保证所有的(),单引号,双引号是成对结束的

    • 必须使用英文状态下的半角输入方式

    • 字符串型和日期时间类型的数据可以使用单引号(' ')表示

    • 列的别名,尽量使用双引用(" "),而且不建议省略as

2.SQL大小写规范(建议遵守)

  • MySQL在Windows环境下大小写是不敏感的

  • MySQL在Linux环境下大小写是敏感的

    • 数据库名,表名,表的别名,变量名是严格区分大小写的

    • 关键字,函数名,列名(或字段名),列的别名(字段的别名)是忽略大小写的

  • 推荐采用统一的书写规范:

    • 数据库名,表名,表的别名,字段名,字段别名等都小写

    • SQL关键字,函数名,绑定变量等都大写

3.注释

可以使用如下格式的注释结构

单行注释: #注释文字(MySQL特有的注释方式)

单行注释: -- 注释文字(--后面必须包含一个空格.)

4.导入现有的数据表,表的数据

source 文件的全路径名

4.最基本SCLECT语句

SELECT 1+1,3*2;
​
​
SELECT 1+1,3+2
FROM DUAL; #dual: 伪表
​
SELECT * FROM xxx
#  *就是表中所有的字段

5.列的别名

在列名后加空格再写名字就是别名

#as : (alias)

#类的别名可以使用一对双引号连起来

6.去除重复行

查询员工表中一共有哪些部门id呢?

select 后面加上DISTINCT(去重)

7.空值参与运算

  • 空值: null

  • null不等同于0,' ',' null '

  • 空值参与运算,结果一定也为空

8.着重号 ``

若命名与关键词重名的表,调用时可使用着重号区分

9.查询常数

10.显示表结构

DESCRIBE employees;显示了表中字段的详细信息

DESC 也可以

11.过滤数据

#查询90号员工信息
SELECT *
FROM employees
#过滤条件
WHERE id = 90;
​
SELECT *
FROM employees
WHERE name = '邱宛彦';
​
SELECT *
FROM employees
WHERE salary > 5000;

第四章: 运算符

1.算数运算符

  • +:加法

  • -:减法

  • *:乘法

  • /:除法

  • %:取余(模)

SELECT 10 + 5;   -- 结果是 15
SELECT 10 * 3;   -- 结果是 30
SELECT 10 % 3;   -- 结果是 1

2. 比较运算符 (Comparison Operators)

这些运算符用于比较两个值的关系。

  • =:等于

  • <=>: 安全等于

    • 作用于=相似,唯一的区别就是安全等于可以进行NULL运算

  • !=<>:不等于

  • <:小于

  • >:大于

  • <=:小于等于

  • >=:大于等于

  • IS NULL:检查是否为 NULL

  • IS NOT NULL:检查是否不为 NULL

SELECT 1=2,1!=2,1='1',1='a',0='a'
FROM DUAL;

字符串存在隐式转换.如果转换数值不成功,则看作0;

字符串和字符串之间比较,直接比较ASCII值,不会看作0;

只要有null参与比较,结果为null;

3. 逻辑运算符 (Logical Operators)

这些运算符用于结合多个条件。

and优先级高于or

  • AND:并且,两个条件都为真时结果为真

  • OR:或者,任意一个条件为真时结果为真

  • NOT:非,取反操作

  • XOR: 异或

4. 范围运算符 (Range Operators)

  • BETWEEN:指定一个范围(包括边界),用来筛选字段在某个范围内的记录

  • IN:用于检查某个字段是否在给定的一组值中

SELECT *
FROM employees
where salary between 100 and 200;

5. 字符串匹配运算符 (String Matching Operators)

这些运算符用于对字符串执行模式匹配操作。

  • LIKE:用于在字符串中进行简单的模式匹配

    • %(通配符)通常与LIKE搭配

      SELECT *
      FROM table
      WHERE name like 'A%'  #以A开头的姓名
      ​
      WHERE name like '%com' #以com结尾的结果
      ​
      WHERE name like 'A%com'  #以A开头以com结尾的结果

      一个下划线_代表一个字符

      WHERE name like '_A%'  #以A为第二个字符的姓名

      转义字符 \

  • NOT LIKE:与 LIKE 相反

  • REGEXP:用于进行正则表达式匹配 难

    • 点(.:匹配任意单个字符(除了换行符)。

      SELECT * 
      FROM table 
      WHERE column REGEXP 'a.b';   -- 匹配 "aab", "acb" 等

      脱字符(^:匹配字符串的开头。

      ​
      SELECT * 
      FROM table 
      WHERE column REGEXP '^abc';   -- 匹配以 "abc" 开头的字符串

      美元符号($:匹配字符串的结尾。

      SELECT * 
      FROM table 
      WHERE column REGEXP 'abc$';   -- 匹配以 "abc" 结尾的字符串

      方括号([]:匹配方括号内的任意单个字符。

      SELECT * 
      FROM table 
      WHERE column REGEXP '[aeiou]';   -- 匹配包含元音字母的字符串

      方括号内的脱字符([^]:匹配不在方括号中的字符。

      ​
      SELECT * 
      FROM table 
      WHERE column REGEXP '^[^aeiou]';   -- 匹配以辅音字母开头的字符串

      星号(*:匹配前面的字符或组零次或多次。

      ​
      SELECT * 
      FROM table 
      WHERE column REGEXP 'ab*c';   -- 匹配 "ac", "abc", "abbc", "abbbc" 等

      加号(+:匹配前面的字符或组一次或多次。

      ​
      SELECT * 
      FROM table 
      WHERE column REGEXP 'ab+c';   -- 匹配 "abc", "abbc", "abbbc" 等,但不匹配 "ac"

      问号(?:匹配前面的字符或组零次或一次。

      ​
      SELECT * FROM table WHERE column REGEXP 'ab?c';   -- 匹配 "ac" 或 "abc"

      竖线(|:逻辑“或”,匹配左边或右边的模式。

      ​
      SELECT * 
      FROM table 
      WHERE column REGEXP 'abc|def';   -- 匹配 "abc" 或 "def"

      圆括号(():分组模式。

      ​
      SELECT *
      FROM table 
      WHERE column REGEXP '(ab|cd)e';   -- 匹配 "abe" 或 "cde"

      大括号({n,m}:匹配前面的字符或组,出现至少 n 次,最多 m 次。

      ​
      SELECT * 
      FROM table 
      WHERE column REGEXP 'ab{2,4}c';   -- 匹配 "abbc", "abbbc", "abbbbc"
  • NOT REGEXP:与 REGEXP 相反

6. NULL 检查运算符 (NULL Check Operators)

  • IS NULL:检查某个值是否为 NULL

  • IS NOT NULL:检查某个值是否不为 NULL

7. 集合运算符 (Set Operators)

这些运算符用于操作两个或多个查询结果集。

  • UNION:合并两个查询的结果集,去除重复项(求并集去重)

  • UNION ALL:合并两个查询的结果集,包括重复项

  • INTERSECT:返回两个查询结果的交集

  • EXCEPT:返回第一个查询结果中存在而第二个查询结果中没有的记录(去交集)

第五章: 排序和分页

1.排序数据

1.1排序规则

如果没有使用排序操作,默认情况下查询的返回值写入数据的顺序显示的;

使用ORDER BY对查询到的数据进行排序操作

  • 升序: ASC(默认升序)

  • 降序: DESC

SELECT lastname
FROM employees
ORDER BY salary DESC;

1.可以使用列的别名,进行排序

2.列的别名只可以ORDER BY中使用,不能在WHERE中使用

3.ORDER BY语句和WHERE语句同时存在时.WHERE和FROM是紧密挨着的,在ORDER BY之前

SELECT lastname
FROM employees
WHERE salary>1000
ORDER BY salary;

4.二级排序

当排序之后别的数据相同时.

SELECT lastname
FROM employees
WHERE salary>1000
ORDER BY salary ASC,id ASC;

2.分页

#每页显示20条记录
select id,lastname
from employees
limit 0,20;#0是偏移量

公式: 显示第n页,每页显示pagesize条

limit (n-1)*pagesize

WHERE ORDER BY LIMIT 声明顺序如下

where
order by
limit

相关文章:

mysql之基本select语句 运算符 排序分页

1.SQL的分类 DDL:数据定义语言. CREATE ALTER DROP RENAME TRUNCATE DML: 数据操作语言. INSERT DELETE UPDATE SELECT 重中之重 DCL: 数据控制语言. COMMIT ROLLBACK SAVEPOINT GRANT REVOKE 2.SQL语言的规则与规范 1.基本规则 SQL可以在一行或多行,为了提高可…...

如何在 Ubuntu 22.04 上安装 Nagios 服务器教程

简介 在本教程中&#xff0c;我们将解释如何在 Ubuntu 22.04 上安装和配置 Nagios&#xff0c;使用 Apache 作为 Web 服务器&#xff0c;并通过 Let’s Encrypt Certbot 使用 SSL 证书进行保护。 Nagios 是一个强大的监控系统&#xff0c;它可以帮助组织在 IT 基础设施问题影…...

数据库事务:确保数据一致性的关键机制

1. 什么是数据库事务 定义&#xff1a;事务&#xff08;Transaction&#xff09;是数据库管理系统中的一个逻辑工作单元&#xff0c;用于确保一组相关操作要么全部成功执行&#xff0c;要么全部不执行&#xff0c;从而维护数据的一致性和完整性。重要性&#xff1a;在多用户环…...

词作词汇积累:错付、大而无当、语焉不详、愈演愈烈

错付 1、基本介绍 【错付】是错误地付出或投入&#xff0c;特别是在感情、信任或资源方面。 【错付】代表投入的东西没有得到应有的回报&#xff0c;或者投入的对象并不值得。 2、实例实操 1. 她将所有的爱与关怀都【错付】给了那个不懂珍惜的人。2. 多年的努力似乎【错付…...

selenium学习笔记

一.搭建环境 1.安装chrome #下载chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb#安装chrome apt --fix-broken install ./google-chrome-stable_current_amd64.deb2.安装chromedriver 首先先查看版本&#xff1a;google-chrome --…...

asp.net core webapi 并发请求时 怎么保证实时获取的用户信息是此次请求的?

对于并发请求&#xff0c;每个请求会被分配到一个独立的线程或线程池工作线程上。通过 HttpContext 或 AsyncLocal&#xff0c;每个线程都能独立地获取到它自己的上下文数据。由于这些数据是与当前请求相关的&#xff0c;因此在并发请求时不会互相干扰。 在并发请求时&#xf…...

实时数仓:基于数据湖的实时数仓与数据治理架构

设计一个基于数据湖的实时数仓与数据治理架构&#xff0c;需要围绕以下几个核心方面展开&#xff1a;实时数据处理、数据存储与管理、数据质量治理、数据权限管理以及数据消费。以下是一个参考架构方案&#xff1a; 一、架构整体概览 核心组成部分 数据源层 数据来源&#xff…...

STM32 拓展 RTC案例1:使用闹钟唤醒待机模式 (HAL库)

需求描述 执行完毕正常代码之后&#xff0c;让MCU进入待机模式&#xff0c;设置闹钟&#xff0c;自动让MCU从待机模式中被唤醒。可以用led点亮熄灭显示是否唤醒。 应用场景&#xff1a;比如设计一个野外温度自动采集的设备&#xff0c;规定每小时采集一次温度&#xff0c;就可…...

ESP32S3使用串口0作为LOG输出

配置 配置串口&#xff0c;在内存保护这个选项里Memory protection 修改内存申请函数 测试代码 uint8_t buf1 heap_caps_malloc(320*240 * sizeof(lv_color_t), MALLOC_CAP_SPIRAM); ESP_LOGI("Test", "%d", buf1);sprintf(buffer, " Biggest / …...

Linux:深入了解fd文件描述符

目录 1. 文件分类 2. IO函数 2.1 fopen读写模式 2.2 重定向 2.3 标准文件流 3. 系统调用 3.1 open函数认识 3.2 open函数使用 3.3 close函数 3.4 write函数 3.5 read函数 4. fd文件描述符 4.1 标准输入输出 4.2 什么是文件描述符 4.3 语言级文件操作 1. 文件分类…...

springboot 集成 etcd

springboot 集成 etcd 往期内容 ETCD 简介docker部署ETCD 前言 好久不见各位小伙伴们&#xff0c;上两期内容中&#xff0c;我们对于分布式kv存储中间件有了简单的认识&#xff0c;完成了docker-compose 部署etcd集群以及可视化工具 etcd Keeper&#xff0c;既然有了认识&a…...

03_Redis基本操作

1.Redis查询命令 1.1 官网命查询命令 为了便于学习Redis,官方将其用于操作不同数据类型的命令进行了分类整理。你可以通过访问Redis官方网站上的命令参考页面https://redis.io/commands来查阅这些分组的命令,这有助于更系统地理解和使用Redis的各项功能。 1.2 HELP查询命令…...

pycharm-pyspark 环境安装

1、环境准备&#xff1a;java、scala、pyspark、python-anaconda、pycharm vi ~/.bash_profile export SCALA_HOME/Users/xunyongsun/Documents/scala-2.13.0 export PATH P A T H : PATH: PATH:SCALA_HOME/bin export SPARK_HOME/Users/xunyongsun/Documents/spark-3.5.4-bin…...

Unity + Firebase + GoogleSignIn 导入问题

我目前使用 Unity版本&#xff1a;2021.3.33f1 JDK版本为&#xff1a;1.8 Gradle 版本为&#xff1a;6.1.1 Firebase 版本: 9.6.0 Google Sign In 版本为&#xff1a; 1.0.1 问题1 &#xff1a;手机点击登录报错 apk转化成zip&#xff0c;解压&#xff0c;看到/lib/armeabi-v…...

web-app uniapp监测屏幕大小的变化对数组一行展示数据作相应处理

web-app uniapp监测屏幕大小的变化对数组一行展示数据作相应处理 1.uni.getSystemInfoSync().screenWidth; 获取屏幕宽度 2.uni.onWindowResize&#xff08;&#xff09; 实时监测屏幕宽度变化 3.根据宽度的大小拿到每行要展示的数量itemsPerRow 4.为了确保样式能够根据 items…...

2025年VGC大众汽车科技社招入职测评综合能力英语口语SHL历年真题汇总、考情分析

早在1978年&#xff0c;大众汽车集团就开始了与中国的联系。1984年&#xff0c;集团在华的第一家合资企业—上汽大众汽车有限公司奠基成立&#xff1b;1991年&#xff0c;一汽-大众汽车有限公司成立&#xff1b;2017年&#xff0c;大众汽车&#xff08;安徽&#xff09;有限公司…...

Linux中配置Java环境变量

基本工作 1.官网下载java 1.8地址&#xff08;需要注册一个oracle账户&#xff09;&#xff1a; Java Downloads | Oracle 点击上面的链接&#xff0c;滚动页面到最下面就可以看到下载界面&#xff0c;如下图 选择适合自己系统的版本。 本文选用 jdk-8u431-linux-x64.tar.g…...

完全自定义Qt翻译功能,不使用Qt Linguist的.ts 和 .qm类型翻译

这篇文章展示了集成Qt Linguist 的功能。 但是有时候Qt的翻译功能比较繁琐&#xff0c;我们简单项目只需要使用本地化功能&#xff0c;将中文字符串导入到项目中&#xff0c;避免编码格式问题导致的乱码。 只需要使用一个简单的json或者其他格式的本地文件作为映射的key/value.…...

551 灌溉

常规解法&#xff1a; #include<bits/stdc.h> using namespace std; int n,m,k,t; const int N105; bool a[N][N],b[N][N]; int cnt; //设置滚动数组来存贮当前和下一状态的条件 //处理传播扩散问题非常有效int main() {cin>>n>>m>>t;for(int i1;i&l…...

php函数性能优化中应注意哪些问题

PHP 函数性能优化中的注意事项 在 PHP 应用中优化函数性能对于提升整体运行效率至关重要。以下是一些需要注意的关键问题&#xff1a; 1. 避免内联变量 将变量内联到函数调用中会增加不必要的开销。例如&#xff1a; function sum($a, $b) {return $a $b; }// 不要这样做&…...

安科瑞 Acrel-1000DP 分布式光伏监控系统在工业厂房分布式光伏发电项目中的应用

吕梦怡 18706162527 摘 要&#xff1a;常规能源以煤、石油、天然气为主&#xff0c;不仅资源有限&#xff0c;而且会造成严重的大气污染&#xff0c;开发清洁的可再生能源已经成为当今发展的重要任务&#xff0c;“节能优先&#xff0c;效率为本”的分布式发电能源符合社会发…...

鼠标自动移动防止锁屏的办公神器 —— 定时执行专家

目录 ◆ 如何设置 ◇ 方法1&#xff1a;使用【执行Nircmd命令】任务 ◇ 方法2&#xff1a;使用【模拟键盘输入】任务 ◆ 定时执行专家介绍 ◆ 定时执行专家最新版下载 ◆ 如何设置 ◇ 方法1&#xff1a;使用【执行Nircmd命令】任务 1、点击工具栏第一个图标【新建任务】&…...

各种特种无人机快速发展,无人机反制技术面临挑战

随着科技的飞速发展&#xff0c;各种特种无人机在军事、民用等领域得到了广泛应用&#xff0c;其性能不断提升&#xff0c;应用场景也日益丰富。然而&#xff0c;无人机反制技术的发展确实面临一定的挑战&#xff0c;难以完全跟上无人机技术的快速发展步伐。以下是对这一问题的…...

深入学习RabbitMQ的Direct Exchange(直连交换机)

RabbitMQ作为一种高性能的消息中间件&#xff0c;在分布式系统中扮演着重要角色。它提供了多种消息传递模式&#xff0c;其中Direct Exchange&#xff08;直连交换机&#xff09;是最基础且常用的一种。本文将深入介绍Direct Exchange的原理、应用场景、配置方法以及实践案例&a…...

HTML实战课堂之启动动画弹窗

一&#xff1a;代码片段讲解 小提示&#xff1a;下面是一个包含启动页和弹窗的完整示例。这个示例包括一个简单的启动页和一个弹窗&#xff0c;当用户点击启动页上的按钮时&#xff0c;会显示弹窗。 1. **HTML结构**&#xff1a; - #startPage&#xff1a;启动页&#xff0c;包…...

将本地的 Git 仓库上传到 GitHub 上(github没有该仓库)

文章目录 步骤 1&#xff1a;在 GitHub 上创建新仓库步骤 2&#xff1a;配置本地仓库步骤 3&#xff1a;添加远程仓库地址步骤 4&#xff1a;推送本地代码到 GitHub验证上传 步骤 1&#xff1a;在 GitHub 上创建新仓库 登录 GitHub&#xff1a; 打开浏览器并访问 GitHub。使用自…...

【Linux】模拟Shell命令行解释器

一、知识补充 1.1 snprintf snprintf() 是 C语言的一个标准库函数&#xff0c;定义在<stdio.h>头文件中。 snprintf() 函数的功能是格式化字符串&#xff0c;并将结果存储在指定的字符数组中。该函数的原型如下&#xff1a; int snprintf(char *str, size_t size, con…...

G-Star Landscape 2.0 重磅发布,助力开源生态再升级

近日&#xff0c;备受行业瞩目的 G-Star Landscape 迎来了其 2.0 版本的发布&#xff0c;这一成果标志着 GitCode 在开源生态建设方面又取得了重要进展。 G-Star Landscape仓库链接&#xff1a; https://gitcode.com/GitCode-official-team/G-Star-landscape 2024 GitCode 开…...

Lianwei 安全周报|2024.1.7

以下是本周「Lianwei周报」&#xff0c;我们总结推荐了本周的政策/标准/指南最新动态、热点资讯和安全事件&#xff0c;保证大家不错过本周的每一个重点&#xff01; 政策/标准/指南最新动态 01 国家发改委等三部门印发《国家数据基础设施建设指引》 国家数据基础设施是从数据…...

ASP.NET Core 实现微服务 - Consul 配置中心

这一次我们继续介绍微服务相关组件配置中心的使用方法。本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大&#xff0c;还是让我爱不起来。因为前面我们已经介绍了使用Consul 做为服务注册发现的组件 &#xff0c;那么干脆继续使用 Consul 来作为配置…...

网站开发工具选择/百度seo关键词优化市场

51单片机是可以输出PWM的&#xff0c;比较的麻烦。此时需要用到内部定时器来实现&#xff0c;可用两个定时器实现&#xff0c;也可以用一个定时器实现。用两个定时器的方法是用定时器T0来控制频率&#xff0c;定时器T1来控制占空比。大致的的编程思路是这样的&#xff1a;T0定时…...

南宁网站建设服务商/制作网页的基本步骤

最近开始动手做实验&#xff0c;之前写了一个小实验利用到了PCL库中的索引&#xff1b; 现在在写利用PCL中的RegionGrowing类来分割生成面片&#xff0c;无论是迭代生成还是进行提取都需要用到pcl库中定义的索引&#xff0c; 虽然搞的不是太明白&#xff0c;还是想写下来来记录…...

旅游网站设计论文摘要/百度指数支持数据下载吗

Jad是一个Java的一个反编译工具&#xff0c;是用命令行执行&#xff0c;和通常JDK自带的java&#xff0c;javac命令是一样的。不过因为是控制台运行&#xff0c;所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse&#xff0c;二者结合可以方便的在eclipse中查看class文…...

网站建设合同书样本/汕头网站设计

大中型企业中&#xff0c;会设置许多组策略进行日常运维管理 &#xff0c;毕然里面也存在许多废弃的策略&#xff0c;需要我们定期清理我们的组策略信息。通常我们导出HTML报告方式来帮助我们分析组策略信息&#xff1a; #1 首先需要加载GroupPolicy模块&#xff1a; Import-Mo…...

一级a做爰片免费网站黄/如何注册一个平台

Beyond Compare 是一个综合的比对工具。 下载链接&#xff1a; 那么如何使用呢&#xff1f;初入职场的小白&#xff0c;在同事推荐下用了这款工具。巨好用。 首先&#xff0c;我们要找到安装包&#xff0c;直接打开&#xff0c;傻瓜式安装。 建议选择language为中文&#xf…...

来一个网站谢谢了/广州网站优化页面

全文共3564字&#xff0c;预计学习时长11分钟构造函数(constructor)和观察者模式&#xff0c;谁略胜一筹呢&#xff1f;这要看情况。谁属于谁&#xff1f;通常我们使用构造函数(constructor)参数连接两个组件。例如&#xff0c;在构造图形表面时可以非常清楚地看到此过程。比如…...