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

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...