Mysql技能点汇总

  • mysql中ip的int存储方式
    为了提高检索性能,节约存储空间,mysql提供了IP的int类型方式存储
    如果用字符串需要15个字节,而用int只需要4个字节就可以表示ip了。
    转换原来很简单,直接将ip4段分别用一个字节表示,然后在按位进行一个便宜就好了
    如:192.168.0.1 的数值为二进制表示如下
    11000000 10101000 00000000 00000001
    将该数值进行求和 11000000<<24|10101000 <<16|00000000<<8|00000001
    得到结果3232235521
--ip str转int
select  INET_ATON('192.168.0.1') as ip_int;
--ip int转str
select  INET_NTOA(3232235521) as ip_str;

在这里插入图片描述

在这里插入图片描述

  • mysql 中获取当前日期 有以下几种方式
select  CURRENT_DATE() ;
--2022-05-16
select NOW();
--2022-05-16 23:52:03
SELECT SYSDATE()
--2022-05-16 23:52:23
SELECT CURRENT_TIMESTAMP();
--2022-05-16 23:52:55
  • mysql中时间戳的问题,FROM_UNIXTIME是将时间戳还原为时间格式,UNIX_TIMESTAMP是将时间转换为时间戳
    应为mysql中存在时区问题,所以,我们为了保持FROM_UNIXTIME时间转换后没有误差,需要将时间戳按照市区做一定处理
    一般东8区相差8个小时,所以只需要加上86060秒就好了,这样可以在系统配置不改变的情况的下,保证时间的一致性。
select FROM_UNIXTIME(1649250078,'%Y-%m-%d %H:%i:%s')  
--时区慢8个小时
select FROM_UNIXTIME(1649250078+28800,'%Y-%m-%d %H:%i:%s')  
select UNIX_TIMESTAMP('2022-04-06 21:01:18')
  • mysql查看当前系统时区
show variables like'%time_zone';

协调世界时,又称世界统一时间、世界标准时间、国际协调时间。
在这里插入图片描述
CST可视为美国、澳大利亚、古巴或中国的标准时间。
在这里插入图片描述

  • 创建一个每天凌晨1点运行的定时任务
-- 创建事件,指定事件名
CREATE EVENT IF NOT EXISTS E_DayCalculation
-- 每天凌晨1点执行
ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL -7 HOUR)
-- 永久执行
ON COMPLETION PRESERVE
-- 事件说明
COMMENT '每日报警事件统计'
-- 指定事件启动时所要执行的代码
DO 
BEGIN
	--调用指定存储过程
	call P_DayCalculation();
END
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值