mysql常用和技巧总结

1、默认当前时间
CURRENT_TIMESTAMP
CURRENT_DATE
DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')

2、查找A在B(以逗号分隔)中
FIND_IN_SET(A,B)

3、使用反引号 (`) 解决mysql关键字冲突

4、多条件排序技巧
order by case when 条件1 then 1 when 条件2 then 2 else 3 end;
分别按照条件1,条件2,条件3排序。

5、order by 中将null强制放在最前:
if(isnull(字段名),0,1) asc

6、获取自增长id
SELECT @@identity

7、分页返回总行数
SELECT SQL_CALC_FOUND_ROWS id,字段 from 表名 limit 0,10;
SELECT FOUND_ROWS() as total;
会返回两个table,第一个是分页的数据,第二个是总数据。

8、分组数据多列转逗号隔开
select GROUP_CONCAT(列名 ORDER by id SEPARATOR ',')
group by id;

9、拼接字符串
CONCAT('')

10、动态sql
DECLARE tmp_sql varchar(3000);
set tmp_sql = CONCAT(''); --拼接查询的sql语句(预处理的sql语句)
set @sql = tmp_sql;
prepare stmt from @sql;--预处理动态sql语句
execute stmt;--执行sql语句
deallocate prepare stmt;--释放prepare

posted @ 2025-06-26 15:40  jechsky1  阅读(29)  评论(0)    收藏  举报