MySQL基础语法实践

基本格式数据处理转换

1、时间格式化
date_format(date,‘format’)
这里可以参考w3cSchool 的格式,方便进行快速转换!
这里也把图贴出来,方便直接预览:


可以直接根据需求对时间进行快速转换,如:
select concat(date_format(create_time,'%H'),' 时') as hours from table

2、获取今天发生的订单?
select * from order where create_time > CURRENT_DATE()
某些同学可能认为这样不行,但是这种语法是正确的哦,CURRENT_DATE()取时间是当前日期格式,如: YYYY-MM-DD

3、concat 拼接函数的使用
某些时候,我们在业务上可能需要查出来 xxxx,但是因为需求,我们要加上 xxxx元,这个时候就可以采用concat了
select concat(money,'元') as money from table
当然,这样的格式也是可以的。
select concat(money,'元','分') as money from table

4、group by ! 可能这个语句在 crud 当中用的非常少,在以前,如果我要把大量数据分组,可能我会采用查询出来然后for遍历放入map统计,但是这样效率堪忧,所以我们可以使用 group by 来获取统计后的效果
select sum(0) as counts,a from table group by a order by counts desc
这里,要注意,我们统计了a出现的次数,并且以counts进行倒叙排序

5、having 作为不常用语法,但是又经常用的,直接举例子
SELECT Websites.name, Websites.url, SUM(access_log.count) AS nums FROM (access_log INNER JOIN Websites ON access_log.site_id=Websites.id) GROUP BY Websites.name HAVING SUM(access_log.count) > 200;
根本原因是where 不能和聚合函数配合使用

6、between …and… 需要注意的就是 start 是被 between 包括的,而后面的时间是不被包括的
select * from table where create_time between '2020-11-11' and '2020-11-24'

7、字符转换,format()、convert()、cast()
format的特点: FORMAT函数在mysql中是数据内容格式化,可以格式化数据为整数或者浮点数
select format(1111111.22333,2) as formatResult

仔细观察,发现去掉了小数,保留两位,但是我们发现竟然加上了 ‘,’,有时候遇到这个问题没有仔细观察真的很致命,所以格式化可考虑 convert() 或者 cast()

convert的特点: 可用来获取一个类型的值,并产生另一个类型的值,用法如下
select convert(1111111.22333,type) as formatResult
type 中我们可以填入任何格式,这里举常用的两种类型
decimal:
select convert(1111111.22333,decimal(12,2)) as formatResult
int:
select convert(1111111.22333,SIGNED) as formatResult
其他的以此类推,可用参数如下:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED

cast(): 同convert 贴出使用参数
select cast(1111111.22333,SIGNED) as formatResult
CHAR[(N)] 字符型
DATE 日期型
DATETIME 日期和时间型
DECIMAL float型
SIGNED int
TIME 时间型

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值