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 等)编码为字节序列。将生…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...
