2018-01-12

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=表名;这条语句可以查询出你想要查询的表的字段,字段注释和字段类型。

你可能感兴趣的:(2018-01-12)