mysql 高级语法手记
Select字段时:
CASE WHEN type=1 THEN 1 ELSE 0 END as type1
sum和count同样可以使用case then
时间戳转时间:
FROM_UNIXTIME(time,'%Y-%m-%d')
年月日时分秒 转 年月日:
FROM_UNIXTIME(UNIX_TIMESTAMP(time),'%Y-%m-%d')
计算第一个时间与第二个时间差几天
DATEDIFF('2018-11-11', '2018-11-10') //1
DATEDIFF('2018-11-11', '2018-11-12') //-1
DATEDIFF(CURDATE(), FROM_UNIXTIME(time/1000,'%Y-%m-%d')) daydiff
CURDATE() //当前时间data
字符串操作
substring(被截取字段,从第几位开始截取,截取长度)
以下是上述语句的SQL标准版本,它更长,但更具表现力。
SUBSTRING(string FROM position FOR length);
参考:http://www.yiibai.com/mysql/substring.html
更新字符串的某部分
UPDATE `dede_addonarticle` SET body = REPLACE ( body, '</td>', '' );
查询解析json
JSON_EXTRACT(result,'$.data.name')
取数组第一个
json_extract(paid_info,'$data[0].paychannel')
去双引号
JSON_UNQUOTE(json_extract(paid_info,'$data[0].paychannel'))
正则查询
REGEXP
1 | SELECT * FROM `notice` WHERE `title` REGEXP 'a|b' |
lavavel
1 | -> where ( 'title' , 'REGEXP' , "a|b" ); |
MYSQL like + 变量
1 | like concat( '%' ,@变量, '%' ) |
mysql字符大小写转换
1. LOWER()将大写转成小写
1 | SELECT LOWER( 'MySql' );输出mysql。 |
2. UPPER() 将小写转成大写
1 | SELECT UPPER( 'MySql' );输出MYSQL。 |
concat()函数
功能:将多个字符串连接成一个字符串。
语法:concat(str1, str2,...),返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。
举例:
select concat(area,fr,best_history_data) from test_concat order by id limit 5;
https://www.cnblogs.com/mianbaoshu/p/11821112.html
MySQL 分解IP地址
select substring_index(ip,'.',1) A, substring_index(substring_index(ip,'.',2),'.',-1) B, substring_index(substring_index(ip,'.',3),'.',-1) C, substring_index(ip,'.',-1) D from (select '111.22.3.4' as ip) c
https://blog.csdn.net/u010520724/article/details/109183381
mysql表与表之间数据的转移
1.相同表结构
INSERT INTO table1 SELECT * FROM table2;
2.不同表结构
INSERT INTO table1(filed1,...,filedn) SELECT table2.filed1,...,table2.filedn FROM table2;
完整sql高阶学习:http://www.w3school.com.cn/sql/index.asp
mysql事务底层原理:https://www.cnblogs.com/rickiyang/p/13652664.html#2558627843
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!