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 JOIN
、LEFT JOIN
、RIGHT 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,贴近Linux的线上环境; 2 RabbitMQ用erlang语言编写的,先安装erlang的运行环境; 2 用Linux的apt-get命令安装,解决软件依赖…...

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

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

自动驾驶控制与规划——Project 2: 车辆横向控制
目录 零、任务介绍一、环境配置二、算法三、代码实现四、效果展示 零、任务介绍 补全src/ros-bridge/carla_shenlan_projects/carla_shenlan_stanley_pid_controller/src/stanley_controller.cpp中的TODO部分。 一、环境配置 上一次作业中没有配置docker使用gpu,…...

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

bain.js(十二):RNN神经网络实战教程 - 音乐乐谱生成 -人人都是作曲家~
系列文章: (一):可以在浏览器运行的、默认GPU加速的神经网络库概要介绍(二):项目集成方式详解(三):手把手教你配置和训练神经网络(四)…...

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

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

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

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

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

免费开源了一个图床工具 github-spring-boot-starter
文章目录 第一步,新建一个SpringBoot项目第二步,在pom文件里面引入jar包第三步,配置你的github信息github.authorization1、进入github官网,登录账号,点击头像,选择setting2、选择[Developer Settings](htt…...

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

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编译器
不要纠结,直接选择用perl编译! 告诫想要用弄成vs编译版的,暂时先别给自己增加麻烦 告诫,以下执行的每一步,都不要纠结 先安装环境 nasm 64位版本 https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-…...

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

如何实现序列化和反序列化?如何处理对象的生命周期管理?
序列化和反序列化 实现思路: 序列化:将对象的状态信息转换为可以存储或传输的格式,通常是字节流。 确定要序列化的对象的数据成员。将这些数据成员按照一定的规则(如二进制、文本、JSON、XML 等)编码为字节序列。将生…...

WPF+MVVM案例实战与特效(三十八)- 封装一个自定义的数字滚动显示控件
文章目录 1、运行效果2、案例实现1、功能设计2、页面布局3、控件使用4、运行效果3、拓展:多数字自定义控件1、控件应用4、总结1、运行效果 在Windows Presentation Foundation (WPF)应用程序中,自定义控件允许开发者创建具有特定功能和外观的独特UI元素。本博客将介绍一个名…...

docker安装Redis、docker使用Redis、docker离线安装redis、Redis离线安装
服务器到期了,换了一个新的环境要重搭,就记录一下好了: -----docker在线安装Redis 拉取 Redis 镜像 docker pull redis:6.2 运行 Redis 容器 docker run --name redis -d redis docker run --name redis -d redis:6.2 映射端口 docker run -…...

单目动态新视角合成
目录 单目动态新视角合成 Generative Camera Dolly:Extreme Monocular Dynamic Novel View Synthesis 单目动态新视角合成 Generative Camera Dolly: Extreme Monocular Dynamic Novel View Synthesis Generative Camera Dolly: Extreme Monocular Dynamic Novel View Synth…...

STM32--IO引脚复用
IO引脚复用...

Python字符串及正则表达式(十):字符串常用操作、字符串编码转换
前言:在编程的世界里,字符串无处不在。它们是构建用户界面、存储数据、进行通信的基础元素。无论是财务系统的总账报表、电子游戏的比赛结果,还是火车站的列车时刻表,这些信息最终都需要以文本的形式呈现给用户。这些文本的背后&a…...

前端的Python入门指南(完):错误和异常处理策略及最佳实践
《前端的 Python 入门指南》系列文章: (一):常用语法和关键字对比(二):函数的定义、参数、作用域对比(三):数据类型对比 - 彻底的一切皆对象实现和包装对象异…...
LeetCode 2475 数组中不等三元组的数目
问题描述: 给定一个下标从 0 开始的正整数数组 nums,我们的目标是找出并统计满足下述条件的三元组 (i, j, k) 的数目: 0 < i < j < k < nums.length,这确保了三元组索引的顺序性。nums[i]、nums[j] 和 nums[k] 两…...

【和春笋一起学C++】字符串比较
目录 C语言字符串比较 C语言字符比较 C字符串比较 C语言字符串比较 在C语言中用于比较字符串的函数为strcmp函数,该函数定义在头文件<string.h>中,是一个标准库函数。strcmp函数的工作原理是逐字符比较两个字符串,直到找到不同的字符…...

HTTP 协议报文结构 | 返回状态码详解
注:本文为 “HTTP 历史 | 协议报文结构 | 返回状态码” 相关文章合辑。 未整理去重。 HTTP 历史 wangjunliang 最后更新: 2024/3/16 上午10:29 超文本传输协议(英语:HyperTextTransferProtocol,缩写:HTTP)是 万维网(World Wide Web)的基础协议。自 蒂姆…...

.net winform 实现CSS3.0 泼墨画效果
效果图 代码 private unsafe void BlendImages1(Bitmap img1, Bitmap img2) {// 确定两个图像的重叠区域Rectangle rect new Rectangle(0, 0,Math.Min(img1.Width, img2.Width),Math.Min(img1.Height, img2.Height));// 创建输出图像,尺寸为重叠区域大小Bitmap b…...