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

浙公网安备 33010602011771号