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

MySQL基础操作(2)

目录

1. CONCAT()

2. =

3. != 或 <>

4. IS NULL

5. IS NOT NULL

6. BETWEEN ... AND ...

7. LIKE

8. ORDER BY

9. LIMIT

10. LENGTH()

11. SUBSTR()

12. UPPER()

13. LOWER()

14. CONCAT_WS()

15. REPLACE()

16. INSTR()

17. TRIM()

18. IFNULL()

19. SYSDATE()

20. FLOOR()

21. CEIL()

22. ROUND()

23. ABS()

24. LOG()

25. JOIN

26. HAVING


1. CONCAT()

  • 作用:将多个字符串连接成一个字符串。

  • 语法CONCAT(str1, str2, ...)

  • 示例

    SELECT CONCAT('Hello', ' ', 'World') AS result;
    -- 输出:Hello World
  • 拓展

    • CONCAT() 可以连接多个字段,常用于生成组合字段。

    • 如果其中一个参数为 NULL,结果将为 NULL

    • 示例:

      SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;

2. =

  • 作用:用于比较两个值是否相等。

  • 语法column = value

  • 示例

    SELECT * FROM users WHERE age = 25;
  • 拓展

    • = 也可以用于比较字符串、日期等类型。

    • 示例:

      SELECT * FROM users WHERE created_at = '2023-10-01';

3. != 或 <>

  • 作用:用于比较两个值是否不相等。

  • 语法column != value 或 column <> value

  • 示例

    SELECT * FROM users WHERE age != 25;
  • 拓展

    • != 和 <> 是等价的,选择其中一个即可。

    • 示例:

      SELECT * FROM users WHERE email <> 'admin@example.com';

4. IS NULL

  • 作用:检查某个字段是否为 NULL

  • 语法column IS NULL

  • 示例

    SELECT * FROM users WHERE email IS NULL;
  • 拓展

    • IS NULL 不能用 = 代替,因为 NULL 不等于任何值。

    • 示例:

      SELECT * FROM users WHERE phone IS NULL;

5. IS NOT NULL

  • 作用:检查某个字段是否不为 NULL

  • 语法column IS NOT NULL

  • 示例

    SELECT * FROM users WHERE email IS NOT NULL;
  • 拓展

    • 常用于过滤非空数据。

    • 示例:

      SELECT * FROM users WHERE phone IS NOT NULL;

6. BETWEEN ... AND ...

  • 作用:检查某个值是否在指定的范围内。

  • 语法column BETWEEN value1 AND value2

  • 示例

    SELECT * FROM users WHERE age BETWEEN 20 AND 30;
  • 拓展

    • BETWEEN 包含边界值。

    • 示例:

      SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

7. LIKE

  • 作用:用于模糊匹配字符串。

  • 语法column LIKE pattern

  • 示例

    SELECT * FROM users WHERE name LIKE 'J%';
  • 拓展

    • % 表示任意字符序列,_ 表示单个字符。

    • 示例:

      SELECT * FROM users WHERE name LIKE 'J_n';

8. ORDER BY

  • 作用:对查询结果进行排序。

  • 语法ORDER BY column ASC|DESC

  • 示例

    SELECT * FROM users ORDER BY age DESC;
  • 拓展

    • 可以按多个字段排序。

    • 示例:

      SELECT * FROM users ORDER BY age DESC, name ASC;

9. LIMIT

  • 作用:限制查询结果的行数。

  • 语法LIMIT n 或 LIMIT offset, n

  • 示例

    SELECT * FROM users LIMIT 10;
  • 拓展

    • LIMIT 常用于分页查询。

    • 示例:

      SELECT * FROM users LIMIT 10 OFFSET 20;

10. LENGTH()

  • 作用:返回字符串的长度。

  • 语法LENGTH(str)

  • 示例

    SELECT LENGTH('Hello World') AS length;
    -- 输出:11
  • 拓展

    • 常用于统计字符串长度。

    • 示例:

      SELECT name, LENGTH(name) AS name_length FROM users;

11. SUBSTR()

  • 作用:截取字符串的一部分。

  • 语法SUBSTR(str, start, length)

  • 示例

    SELECT SUBSTR('Hello World', 7, 5) AS result;
    -- 输出:World
  • 拓展

    • start 从 1 开始计数。

    • 示例:

      SELECT SUBSTR(email, 1, INSTR(email, '@') - 1) AS username FROM users;

12. UPPER()

  • 作用:将字符串转换为大写。

  • 语法UPPER(str)

  • 示例

    SELECT UPPER('hello') AS result;
    -- 输出:HELLO
  • 拓展

    • 常用于数据标准化。

    • 示例:

      SELECT UPPER(name) AS upper_name FROM users;

13. LOWER()

  • 作用:将字符串转换为小写。

  • 语法LOWER(str)

  • 示例

    SELECT LOWER('HELLO') AS result;
    -- 输出:hello
  • 拓展

    • 常用于数据标准化。

    • 示例:

      SELECT LOWER(name) AS lower_name FROM users;


14. CONCAT_WS()

  • 作用:使用指定的分隔符连接多个字符串。

  • 语法CONCAT_WS(separator, str1, str2, ...)

  • 示例

    SELECT CONCAT_WS('-', '2023', '10', '01') AS result;
    -- 输出:2023-10-01
  • 拓展

    • 如果分隔符为 NULL,结果将为 NULL

    • 示例:

      SELECT CONCAT_WS(',', 'Apple', 'Banana', 'Cherry') AS result;

15. REPLACE()

  • 作用:替换字符串中的指定内容。

  • 语法REPLACE(str, old_str, new_str)

  • 示例

    SELECT REPLACE('Hello World', 'World', 'MySQL') AS result;
    -- 输出:Hello MySQL
  • 拓展

    • 常用于数据清洗。

    • 示例:

      SELECT REPLACE(email, '@example.com', '@newdomain.com') AS new_email FROM users;

16. INSTR()

  • 作用:返回子字符串在字符串中的位置。

  • 语法INSTR(str, substr)

  • 示例

    SELECT INSTR('Hello World', 'World') AS position;
    -- 输出:7
  • 拓展

    • 如果子字符串不存在,返回 0。

    • 示例:

      SELECT INSTR(email, '@') AS at_position FROM users;


17. TRIM()

  • 作用:去除字符串两端的空格。

  • 语法TRIM(str)

  • 示例

    SELECT TRIM('  Hello World  ') AS result;
    -- 输出:Hello World
  • 拓展

    • 可以去除指定字符。

    • 示例:

      SELECT TRIM('x' FROM 'xxxHello Worldxxx') AS result;

18. IFNULL()

  • 作用:如果第一个参数为 NULL,则返回第二个参数。

  • 语法IFNULL(expr1, expr2)

  • 示例

    SELECT IFNULL(NULL, 'Default') AS result;
    -- 输出:Default
  • 拓展

    • 常用于处理空值。

    • 示例:

      SELECT IFNULL(phone, 'No Phone') AS contact FROM users;

19. SYSDATE()

  • 作用:返回当前日期和时间。

  • 语法SYSDATE()

  • 示例

    SELECT SYSDATE() AS current_time;
    -- 输出:2023-10-01 12:34:56
  • 拓展

    • 常用于记录时间戳。

    • 示例:

      INSERT INTO logs (message, created_at) VALUES ('New Log', SYSDATE());

20. FLOOR()

  • 作用:返回小于或等于指定值的最大整数。

  • 语法FLOOR(number)

  • 示例

    SELECT FLOOR(3.7) AS result;
    -- 输出:3
  • 拓展

    • 常用于向下取整。

    • 示例:

      SELECT FLOOR(price) AS floor_price FROM products;

21. CEIL()

  • 作用:返回大于或等于指定值的最小整数。

  • 语法CEIL(number)

  • 示例

    SELECT CEIL(3.2) AS result;
    -- 输出:4
  • 拓展

    • 常用于向上取整。

    • 示例:

      SELECT CEIL(price) AS ceil_price FROM products;


22. ROUND()

  • 作用:对数字进行四舍五入。

  • 语法ROUND(number, decimals)

  • 示例

    SELECT ROUND(3.65, 1) AS result;
    -- 输出:3.7
  • 拓展

    • 常用于格式化数字。

    • 示例:

      SELECT ROUND(price, 2) AS rounded_price FROM products;

23. ABS()

  • 作用:返回数字的绝对值。

  • 语法ABS(number)

  • 示例

    SELECT ABS(-10) AS result;
    -- 输出:10
  • 拓展

    • 常用于计算距离。

    • 示例:

      SELECT ABS(current_value - target_value) AS difference FROM metrics;

24. LOG()

  • 作用:返回数字的自然对数。

  • 语法LOG(number)

  • 示例

    SELECT LOG(10) AS result;
    -- 输出:2.302585
  • 拓展

    • 常用于数学计算。

    • 示例:

      SELECT LOG(price) AS log_price FROM products;

25. JOIN

  • 作用:用于连接两个或多个表。

  • 语法JOIN table ON condition

  • 示例

    SELECT users.name, orders.order_id
    FROM users
    JOIN orders ON users.id = orders.user_id;
  • 拓展

    • 支持 INNER JOINLEFT JOINRIGHT JOIN 和 FULL JOIN

    • 示例:

      SELECT users.name, orders.order_id
      FROM users
      LEFT JOIN orders ON users.id = orders.user_id;

26. HAVING

  • 作用:用于对分组后的数据进行过滤。

  • 语法HAVING condition

  • 示例

    SELECT user_id, COUNT(*) AS order_count
    FROM orders
    GROUP BY user_id
    HAVING order_count > 5;
  • 拓展

    • HAVING 常用于聚合函数后的过滤。

    • 示例:

      SELECT category, AVG(price) AS avg_price
      FROM products
      GROUP BY category
      HAVING avg_price > 50;

相关文章:

MySQL基础操作(2)

目录 1. CONCAT() 2. 3. ! 或 <> 4. IS NULL 5. IS NOT NULL 6. BETWEEN ... AND ... 7. LIKE 8. ORDER BY 9. LIMIT 10. LENGTH() 11. SUBSTR() 12. UPPER() 13. LOWER() 14. CONCAT_WS() 15. REPLACE() 16. INSTR() 17. TRIM() 18. IFNULL() 19. SY…...

Windows环境 (Ubuntu 24.04.1 LTS ) 国内镜像,用apt-get命令安装RabbitMQ

一、环境 Windows11 WSL(Ubuntu 24.04.1) 二、思路 1 用Windows中的Ubuntu安装RabbitMQ&#xff0c;贴近Linux的线上环境&#xff1b; 2 RabbitMQ用erlang语言编写的&#xff0c;先安装erlang的运行环境&#xff1b; 2 用Linux的apt-get命令安装&#xff0c;解决软件依赖…...

web网页前后端交互方式

参考该文&#xff0c; 一、前端通过表单<form>向后端发送数据 前端是通过html中的<form>表单&#xff0c;设置method属性定义发送表单数据的方式是get还是post。 如使用get方式&#xff0c;则提交的数据会在url中显示&#xff1b;如使用post方式&#xff0c;提交…...

LN61C 高精度 低功耗 小封装 电压检测芯片

1、产品概述 LN61C 系列芯片是使用 CMOS 技术开发的高精度、低功耗、 小封装电压检测芯片。检测电压在小温度漂移的情况下保持 极高的精度。客户可选择 CMOS 输出或 Open Drain 输出。 2、产品特点 高精度&#xff1a; 2% 低功耗&#xff1a;2.0A &#xff08; VIN1.5V …...

自动驾驶控制与规划——Project 2: 车辆横向控制

目录 零、任务介绍一、环境配置二、算法三、代码实现四、效果展示 零、任务介绍 补全src/ros-bridge/carla_shenlan_projects/carla_shenlan_stanley_pid_controller/src/stanley_controller.cpp中的TODO部分。 一、环境配置 上一次作业中没有配置docker使用gpu&#xff0c;…...

Bootstrap-HTML(五)图像基础样式

Bootstrap-HTML&#xff08;五&#xff09;图像基础样式 前言一、圆角图片二、圆形图片三、缩略图四、对齐图像五、图片居中六、响应式图片 前言 在之前的博客中&#xff0c;我们已经详细了解了 Bootstrap5 中诸多实用的组件和样式类&#xff0c;比如徽章与表格等&#xff0c;…...

bain.js(十二):RNN神经网络实战教程 - 音乐乐谱生成 -人人都是作曲家~

系列文章&#xff1a; &#xff08;一&#xff09;&#xff1a;可以在浏览器运行的、默认GPU加速的神经网络库概要介绍&#xff08;二&#xff09;&#xff1a;项目集成方式详解&#xff08;三&#xff09;&#xff1a;手把手教你配置和训练神经网络&#xff08;四&#xff09…...

Endnote | 查看文献所在分组

软件版本&#xff1a;Endnote X8 第一种方式&#xff1a; 在文献上右键——记录摘要&#xff0c;即可在弹出页面上看到自定义和智能组的分组情况。 第二种方式&#xff1a; 在菜单栏点击文献——记录摘要&#xff0c;也可以查看分组情况。 注&#xff1a; 新版本的endnote软件…...

DateRangePickerDialog组件的用法

文章目录 概念介绍使用方法示例代码我们在上一章回中介绍了DatePickerDialog Widget相关的内容,本章回中将介绍DateRangePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的DateRangePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为…...

数据库合并操作:深入理解 MERGE INTO 语句

在数据管理和操作中&#xff0c;我们常常面临着将源数据合并到目标表中的需求。无论是对现有记录进行更新&#xff0c;还是对缺失的记录进行插入&#xff0c;甚至有时候需要删除不再符合条件的记录&#xff0c;这些操作通常都需要多条 SQL 语句来完成。然而&#xff0c;SQL 中有…...

联发科MTK8788_MT8788安卓核心板安兔兔跑分_安卓主板方案商

MT8788安卓核心板具有集成的蓝牙、fm、WLAN和gps模块&#xff0c;是一个高度集成的基带平台&#xff0c;包括调制解调器和应用处理子系统&#xff0c;启用LTE/LTE-A和C2K智能设备应用程序。该芯片集成了工作在2.0GHz的ARM Cortex-A73、最高可达2.0GHz的ARM Cortex-A53和功能强大…...

计算机网络技术基础:6.数据传输方式

数据传输是指利用信号把数据从发送端传送到接收端的过程&#xff0c;通常可以从多个不同的角度对数据传输方式进行描述。 一、并行传输和串行传输 数据在信道上传输时&#xff0c;按照使用信道的多少可以分为串行传输和并行传输两种方式。 1.串行传输 在计算机中&#xff0c;…...

免费开源了一个图床工具 github-spring-boot-starter

文章目录 第一步&#xff0c;新建一个SpringBoot项目第二步&#xff0c;在pom文件里面引入jar包第三步&#xff0c;配置你的github信息github.authorization1、进入github官网&#xff0c;登录账号&#xff0c;点击头像&#xff0c;选择setting2、选择[Developer Settings](htt…...

Mysql之YUM安装时GPG 密钥报错问题处理

一、背景说明 使用YUM安装mysql5.7的时候报错&#xff0c;报错信息提示未安装公钥。博主查看/etc/yum.repos.d/mysql-community.repo配置文件中关于公钥的配置&#xff0c;确实启用了公钥验证&#xff0c;博主再排查过程中还是走了一些弯路&#xff0c;最终顺利解决了&#xff…...

Hw亮度省电

1. 亮度控制策略 /decompile-hw/decompile/app/HwPowerGenieEngine3/src/main/res/xml/backlight_policy.xml <?xml version"1.0" encoding"utf-8"?> 2 <backlight_policy xmlns:android"http://schemas.android.com/apk/res/android&qu…...

【信息系统项目管理师-论文真题】2015下半年论文详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论题一:大项目或多项目的成本管理解题思路写作要点论题二:项目的采购管理解题思路写作要点论题一:大项目或多项目的成本管理 随着移动互联网、物联网、云计算、大数据等新一代信息技术的广泛应用,我国目前…...

django的model中定义【记录修改次数】的这个字段该用什么类型

django中定义对于某个文章应用的数据库中使用到记录修改次数的这个字段 如models.py中的配置 from django.db import models from django.utils import timezone from django.contrib.postgres.fields import ArrayFieldclass Article(models.Model):# Titlestitle_cn model…...

windows openssl编译x64版libssl.lib,编译x64版本libcurl.lib,支持https,vs2015编译器

不要纠结&#xff0c;直接选择用perl编译&#xff01; 告诫想要用弄成vs编译版的&#xff0c;暂时先别给自己增加麻烦 告诫&#xff0c;以下执行的每一步&#xff0c;都不要纠结 先安装环境 nasm 64位版本 https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-…...

搭建 Elasticsearch 集群:完整教程

本文将详细介绍如何在 Linux 环境下搭建一个 Elasticsearch 集群&#xff0c;涵盖环境准备、配置优化、服务启动等多个环节。 一、环境准备 创建安装目录 mkdir /es cd /es解压 Elasticsearch 安装包 tar -xzf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /es配置环境变量 编…...

如何实现序列化和反序列化?如何处理对象的生命周期管理?

序列化和反序列化 实现思路&#xff1a; 序列化&#xff1a;将对象的状态信息转换为可以存储或传输的格式&#xff0c;通常是字节流。 确定要序列化的对象的数据成员。将这些数据成员按照一定的规则&#xff08;如二进制、文本、JSON、XML 等&#xff09;编码为字节序列。将生…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...