mysql 使用经验

最近做一个JAVA WEB的项目,一直不停地和MySql打交道,总结一些项目中新学到的知识或者说是用法。 

pre = conn.prepareStatement("update ddd as s set s.factor=CAST(s.tid/256 as UNSIGNED) where s.datetime="+task.getDateTime());


pre = conn.prepareStatement("update ddd as s set s.factor=FLOOR(s.tid/256) where s.datetime="+task.getDateTime());

首先: CAST  FLOOR  ROUND 数值函数的使用

CAST 可以把计算结果处理为某种类型的数据,经我测试应该是遵循四舍五入的。  用法: CAST(s.tid/256 as DATA_TYPE) 

FLOOR 这个和程序语言里面差不多的,就是把一个数向下取整。 

ROUND这个刚好和FLOOR相反,但不知道MYSQL有没有CEIL这个函数了,把数向上取整。

还有一个数据库使用技巧,当在项目中某个数值只能小于一定范围时,比如一个只能占一个字节的数字,最大也就255,但是又想用这个数值作为

唯一标示,那就可以在数据表里面存放一个id除以这个最大数的商,然后这个一个字节的位置存放id和255的余数,这样就不可能超出255了。

当要找到数据库中对应的唯一记录时  余数+商*256 就能得到记录的id值了,然后根据id获取记录就易如反掌。


最近还真是超级累,加油吧少年!  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值