mysql

查询中用到的关键词主要包含六个,并且他们的顺序依次为 
select--from--where--group by--having--order by --limit--desc/esc

where:过滤表中数据的条件 
group by:如何将上面过滤出的数据分组 
having:对上面已经分组的数据进行过滤的条件 
 
select:查看结果集中的哪个列,或列的计算结果 
order by :按照什么样的顺序来查看返回的数据
------------------------
having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)
更新:UPDATE table_name SET stat_time =REPLACE(stat_time, ';', ':') where;
-------------去重-----------
1:无主键数据去重
create table temp_b as (select DISTINCT aaa,bbbb,ccc from table_b);
delete from table_b;
truncate table table_name;区别在于delete删除部分 行数据,后者删除所有数据
INSERT into table_b select * from temp_b;
2:有主键数据去重

常用函数

CONCAT(id,username):字符串连接函数,返回结果为连接参数产生的字符串
if(expr,v1,v2)函数:如果expr的表达式是true则返回值为v1,否则为v2(select IF(sex="男",1,2) from user;)
case函数:
select case sex 
        when 1 then "男" 
        when 2 then "女" 
             else "nannv" 
       end as sex 
from user;
ifnull(v1,v2)函数:v1不为空时返回v1,为空时返回v2
加密函数:password(str);MD5(str);
regexp正则表达式:(^匹配文本的开头字符^b表示匹配以字母b开头的字母;$匹配文本的结束字符'ry$'以ry结束的字符)
字符串截取函数:substring(idcard,7,4)表示截取idcard字段索引为7开始长度为4的字符串
类型转换函数:CAST(idcard as SIGNED)表示string转int:(2017-Cast(substring(idcard,7,4) as SIGNED))<19表示未成年
格式化函数:format(字段,n)表示返回n为小数;
日期时间函数DATE_FORMAT(字段,'%Y-%m-%d')
进制转换conv(number,n,m)表示吧number冲n转换成m进制
 SELECT id from customer where CAST(SUBSTR(idcard,7,4) AS SIGNED) >2017-26 and CAST(SUBSTR(idcard,17,1) AS SIGNED)%2=0;
coalesce函数:coalesce(字段1,字段2,参数) as a表示取不为空的数据做a,当都为空时参数为a
to_char函数:数值日期转字符型
concat字符串连接函数:concat(字段1,'_',字段2) as b表示输出的数据为:字段1_字段2
datediff函数:datediff(时间日期1,时间日期2)表示1-2之间的天数
len函数:字符串的长度
replace函数:字符串替换函数 REPLACE(stat_time, 'from', 'to')
SUBSTRING_INDEX函数:字符串分割函数SUBSTRING_INDEX(字段,'分割符',1),其中1表示去第一个分割出来的数据,-1表示取倒数第一个分割出来的数据。
select SUBSTRING_INDEX(round_name,'_',1) from table_b
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值