1. 计算日期间隔:TIMESTAMPDIFF(day,小日期,大日期)
2. 随机取100条数据: order by rand() limit 100
3. 取到月份或年份的函数:date_format(time, '%Y-%m-%d')='2017-11-28'
date_format(time, '%Y%m%d')='20171128'
4. 身份证号信息脱敏:
CONCAT(LEFT(cardid,10), '******' ,RIGHT(cardid,2))
身份证号判断性别:
case when (MOD(MID(cardid,17,1),2)=1) then "男"
when (MOD(MID(cardid,17,1),2)=0) then "女" else "其他" end "性别"
5. 往一个已经存在的表结构里插入数据:
insert into 表1 (字段A,B,C)
select (a,b,c) from 表2 ,
有的时候报错Operand should contain 1 column(s),去掉 select后的括号即可
注意:如果表1结构里有设置主键,但在导入的字段里没有包含,则会报错 Duplicate entry '' for key 'PRIMARY',这是调整插入的字段包括主键字段或更改表结构里的主键即可。
6. 在当前日期上加4天: select date_add(curdate() ,interval 4 day);
在当前日期上减4天: select date_sub(curdate() ,interval 4 day)
7. 提取字段的部分字符:substring(str,pos,len) 或者 left()、right()、mid()函数
8. mysql筛选出某个字段值含有某个字符:locate(substr,str),
substr:要查询的特定字符,str :被查询 的字符串
ex: select name,locate('a',name) from tablename;-- 如果locate返回大于0,则包含字符“a”
9. 将字段数据设置成整数型: convert(字段,signed)
10. 表里删除行数据:delete from table where createTime > "2018-01-01"
11. 表里更新一列数据:update 表名称 set 列名称=新值 where 列名称=某值
12. select column_name,column_comment,data_type
from information_schema.columns
where table_name=表名;这条语句可以查询出你想要查询的表的字段,字段注释和字段类型。