Mysql常用语法
-- 替换字符串:把A替换为B
update db.table set column = replace(column,"A","B")
where xxx
and column like '%A%';
填充指定的字符,直到达到指定的长度
LPAD函数:在字符串左侧填充指定的字符,直到达到指定的长度;L是left的意思,pad是填充的意思。
LPAD语法:lpad(column,length,paddingValue)RPAD函数:在字符串右侧填充指定的字符,直到达到指定的长度,R是right的意思,pad是填充的意思。
RPAD语法:lpad(column,length,paddingValue)参数说明:
- column:需要进行填充的字符串,可以是数字或字符型。
- length:填充后的字符串长度。
- paddingValue:填充的字符。
使用说明:
LPAD1.使其变成5位长度&不足5位的在左侧填充'0':
SELECT LPAD(2023, 5, '0');
运行结果为:'02023'LPAD2.使其变成5位长度&不足5位的在左侧填充'a':
SELECT LPAD(2023, 5, 'a');
运行结果为:'a2023'RPAD1.使其变成5位长度&不足5位的在右侧填充'0':
SELECT LPAD(2023, 5, '0');
运行结果为:'20230'RPAD2.使其变成5位长度&不足5位的在右侧填充'a':
SELECT LPAD(2023, 5, 'a');
运行结果为:'2023a'
根据分组,查询最新时间的一条数据
- 基础语法
select * from table where id in ( select SUBSTRING_INDEX(GROUP_CONCAT(id ORDER BY update_time desc), ',', 1 ) from table GROUP BY unique_key_column );
- 创建数据库 drop database if exists `syntax_db`; create database if not exists `syntax_db` default charset utf8; - 创建表 drop table if exists `syntax_db`.`t_log`; CREATE TABLE `syntax_db`.`t_log` ( `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `unique_key` bigint(11) NOT NULL COMMENT 'id', `message` varchar(255) DEFAULT NULL COMMENT '信息', `datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='日志信息表'; - 初始化数据 INSERT INTO `syntax_db`.`t_log` (unique_key,message,`datetime`) VALUES (1,'信息1','2023-05-19 00:00:00'), (1,'信息2','2023-05-19 11:11:11'), (1,'信息3','2023-05-19 22:22:22'), (2,'信息1','2023-05-19 00:00:00'), (2,'信息2','2023-05-19 11:11:11'), (2,'信息3','2023-05-19 22:22:22'); - 语法运用:根据分组,查询最新时间的一条数据 select * from `syntax_db`.`t_log` where id in ( select SUBSTRING_INDEX(GROUP_CONCAT(id ORDER BY `datetime` desc), ',', 1 ) from `syntax_db`.`t_log` GROUP BY unique_key );
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2020-05-19 缓存穿透、缓存击穿、缓存雪崩