MySql 常用语句
1、MySql查询某字段中是否含中文
使用 length 与 char_length 两个函数
length:是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符
char_length:不管汉字还是数字或者是字母都算是一个字符
对同一字段分别使用 length、char_length 计算长度,并进行比较长度相同则字段中无汉字,不相同则肯定有汉字
SELECT * FROM 表名 t WHERE LENGTH( REPLACE ( REPLACE (字段, '-', ''), '+', '' )) = 3 * CHAR_LENGTH( REPLACE ( REPLACE (字段, '-', ''), '+', '' ))
2、MySql查询某字段中是否包含某个名词
实例:存储样式:河北,浙江,北京,吉林
concat:用于将两个字符串连接起来,形成一个单一的字符串。
SELECT * from 表名 where concat(',',字段,',') like '%,浙江,%'
3、联表更新
UPDATE friends INNER JOIN users ON friends.friendid = users.userid SET friends.friendname = users.username
where users.id = 1 and friends.name = '张三'
4、乱序查询
SELECT * FROM 表名 ORDER BY RAND()
5、查询重复数据
//去重并统计每个姓名个数 SELECT NAME,count(1) from 表名 group by NAME HAVING count(1) >1 //distinct单纯去重 SELECT distinct NAME from 表名
6、INSERT INTO复制表(将表2的数据复制到表1中)
//指定的列中插入数据,主键自动生成 INSERT INTO 表1(字段1,字段2) select 字段1,字段2 from 表2 where 条件
//(表结构完全一样)表2整条记录插入到表1,主键也插入(需要注意主键是否冲突)
INSERT INTO 表1 select * from 表2 where 条件
7、mol 函数判断奇数偶数
SELECT * from 表名 where mod(id,2) = 0;//偶数 SELECT * from 表名 where mod(id,2) = 1;//奇数
8、MySql行转列
//图一 SELECT question_id,answer_id,COUNT(1) from 表名 GROUP BY question_id,answer_id; //图二 SELECT question_id, SUM(CASE answer_id WHEN 'A' THEN 1 ELSE 0 END )A, SUM(CASE answer_id WHEN 'B' THEN 1 ELSE 0 END )B, SUM(CASE answer_id WHEN 'C' THEN 1 ELSE 0 END )C, SUM(CASE answer_id WHEN 'D' THEN 1 ELSE 0 END )D from 表名 GROUP BY question_id;
9、DATEDIFF() 函数返回两个日期之间的天数。
SELECT DATEDIFF('2016-01-03','2016-01-02') AS DiffDate //返回1
10、ADDDATE
SELECT ADDDATE(now(),INTERVAL 5 MINUTE)//当前时间增加5分钟
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?