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

news2025/1/11 8:29:35

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

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

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

相关文章

Linux中SSH服务(二)

一、基于公私钥的认证&#xff08;免密登录&#xff09; 1、Windows免密登录Linux Windows推荐安装Cygwin软件&#xff1a;Cygwin 1.1Windows上面生成公私钥 之前已经生成过了&#xff0c;所以显示公私钥已存在 lovezywLAPTOP-AABHB5ED ~ $ ssh-keygen Generating public/pr…

.NET Core NPOI 导出图片到Excel指定单元格并自适应宽度

NPOI&#xff1a;支持xlsx&#xff0c;.xls&#xff0c;版本>2.5.3 XLS&#xff1a;HSSFWorkbook&#xff0c;主要前缀HSS&#xff0c; XLSX&#xff1a;XSSFWorkbook&#xff0c;主要前缀XSS&#xff0c;using NPOI.XSSF.UserModel; 1、导出Excel添加图片效果&#xff0…

NS2202X 系列 40V 输入 OVP 保护 IC

1 特性  最大输入电压&#xff1a; 40V  内部预设 2.1A 负载过流 OCP 保护  外置过流保护阈值可调节引脚&#xff0c;可悬空  外置 EN 使能控制引脚  内部预设 6V 输入过压 OVP 保护  输入 OVP 保护响应时间 20ns  内置 150 ℃过温…

Web前端基础知识(七)

要在JS中获取元素节点&#xff0c;需要使用DOM API提供的方法。 innerHTML&#xff1a;不仅会返回一个纯文本&#xff0c;还可以解析一下这个文本中的语意。 innerText: 忽略HTML标记。 举例&#xff1a; <body> <div id"box1">这是一个ID选择器标签…

[Transformer] The Structure of GPT, Generative Pretrained Transformer

The Structure of Generative Pretrained Transformer Reference: The Transformer architecture of GPT models How GPT Models Work

欧拉公式和傅里叶变换

注&#xff1a;英文引文机翻&#xff0c;未校。 中文引文未整理去重&#xff0c;如有异常&#xff0c;请看原文。 Euler’s Formula and Fourier Transform Posted byczxttkl October 7, 2018 Euler’s formula states that e i x cos ⁡ x i sin ⁡ x e^{ix} \cos{x} i …

【python基础——异常BUG】

什么是异常(BUG) 检测到错误,py编译器无法继续执行,反而出现错误提示 如果遇到错误能继续执行,那么就捕获(try) 1.得到异常:try的执行,try内只可以捕获一个异常 2.预案执行:except后面的语句 3.传入异常:except … as uestcprint(uestc) 4.没有异常:else… 5.鉴定完毕,收尾的语…

Python 模块 Uvicorn 实战指南

文章目录 1. 介绍和安装1.1 介绍1.2 安装 2. 创建基础应用2.1 简单的 HTTP 应用2.2 添加日志 3. 实现高级功能3.1 支持 WebSocket3.2 优化运行性能 4. Nginx 配置反向代理4.1 安装与配置 Nginx4.2 启用 SSL 支持4.3 性能优化建议 5. 常见问题与解决方案5.1 高并发问题5.2 WebSo…

音频数据增强:提升音频信号质量的多种技术

在音频处理和机器学习领域&#xff0c;音频数据增强是一种常用的技术&#xff0c;旨在通过对原始音频信号进行各种变换和处理&#xff0c;生成更多样化的训练数据。   这不仅可以提高模型的鲁棒性&#xff0c;还能改善其在真实世界应用中的表现。本文将介绍几种常用的音频数据…

uniapp vue2版本如何设置i18n

如何设置i18n在该软件设置过语言的情况下优先选择所设置语言&#xff0c;在没有设置的情况下&#xff0c;获取本系统默认语言就&#xff0c;将系统默认语言设置为当前选择语言。 1、下载依赖&#xff1a; npm install vue-i18n --save 2、创建相关文件&#xff08;在最外层&…

vulnhub靶场【DC系列】之9 the final 结束篇

前言 靶机&#xff1a;DC-8&#xff0c;IP地址为192.168.10.11&#xff0c;后续因为靶机重装&#xff0c;IP地址变为192.168.10.13 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.2 都采用VMWare&#xff0c;网卡为桥接模式 对于文章中涉及到的靶场以及工具&#xf…

网络安全 | 网络安全法规:GDPR、CCPA与中国网络安全法

网络安全 | 网络安全法规&#xff1a;GDPR、CCPA与中国网络安全法 一、前言二、欧盟《通用数据保护条例》&#xff08;GDPR&#xff09;2.1 背景2.2 主要内容2.3 特点2.4 实施效果与影响 三、美国《加利福尼亚州消费者隐私法案》&#xff08;CCPA&#xff09;3.1 背景3.2 主要内…

基于QT和C++的实时日期和时间显示

一、显示在右下角 1、timer.cpp #include "timer.h" #include "ui_timer.h" #include <QStatusBar> #include <QDateTime> #include <QMenuBar> Timer::Timer(QWidget *parent) :QMainWindow(parent),ui(new Ui::Timer) {ui->setup…

STM32小实验2

定时器实验 TIM介绍 TIM&#xff08;Timer&#xff09;定时器 定时器可以对输入的时钟进行计数&#xff0c;并在计数值达到设定值时触发中断 16位计数器、预分频器、自动重装寄存器的时基单元&#xff0c;在72MHz计数时钟下可以实现最大59.65s的定时 不仅具备基本的定时中断…

【软考】软件设计师

「学习路线」&#xff08;推荐该顺序学习&#xff0c;按照先易后难排序&#xff09; 1、上午题—计算机系统&#xff08;5~6分&#xff09;[1.8; ] 2、上午题—程序设计语言&#xff08;固定6分&#xff09;[1.9; ] 3、下午题—试题一&#xff08;15分&#xff09; 4、上午题—…

2030年中国AI人才缺口或达400万,近屿智能助力AI人才储备增长

在当今数字化浪潮下&#xff0c;人工智能&#xff08;AI&#xff09;已成为推动各行业发展的关键力量。然而&#xff0c;吸引和留住 AI 人才正成为全球性难题&#xff0c;中国亦不例外。据麦肯锡 2022 年全球人工智能商业高管调查&#xff0c;75% 的中国受访者在招聘数据科学家…

一块钱的RISC-V 32位芯片

‍‍ ‍‍之前跟一个朋友聊天&#xff0c;说以后的芯片一定是越来越趋向于定制化&#xff0c;比如我们需要一个ADC芯片&#xff0c;这颗ADC芯片需要有串口功能&#xff0c;那就只开发一颗这样的芯片就好了&#xff0c;其他的功能都可以裁剪掉。 ➵➵➵➵➵➵➵➵➵➵➵➵➵➵➵…

rk3568平台Buildroot编译实践:内核rootfs定制 及常见编译问题

目录 编译前准备常规编译流程定制内核修改内核 参数并增量 保存修改rootfs并增量 保存修改rootfs包下载源rootfs软件包增删refBuildroot 是一个用于自动化构建嵌入式 Linux 系统的工具。它通过使用简单的配置文件和 Makefile,能够从源代码开始交叉编译出一个完整的、可以运行在…

机器翻译优缺点

随着科技的飞速发展&#xff0c;机器翻译是近年来翻译行业的热门话题&#xff0c;在人们的生活和工作中日益普及&#xff0c;使用机器能够提高翻译效率&#xff0c;降低成本。尽管关于机器翻译为跨语言交流带来了诸多便利&#xff0c;但在译文的正确率和局限性方面存在一定争议…

R 语言科研绘图 --- 折线图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…