当前位置: 首页 > 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;编码为字节序列。将生…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...