Mysql的查询模型

Mysql查询模型:

把列看成变量,把where后面看成PHP中的if(exp)  表达式 哪一行能让exp为真,哪一行就能取出来

还有列既然可以看作是变量,变量之间可以进行与运算。


以前写sql语句就是写的多了以后,发现也没有什么,没有理解到可以把列当成变量,来运算,看燕十八老师的视频是长见识了,看来自己还是太菜了。


下面有一道题目可以帮助我们更好的理解列是变量这一问题

把num值处于[20,29]之间,改为20
num值处于[30,39]之间的,改为30

mian表
+------+
| num  |
+------+
|    3 |
|   12 |
|   15 |
|   25 |
|   23 |
|   29 |
|   34 |
|   37 |
|   32 |
|   45 |
|   48 |
|   52 |
+------+
create table mian
(
num  int
);
insert into mian
values
(3),(12),(15),(25),(23),(29),(34),(37),(32),(45),(48),(52);

一开始:我是这样写的

update mian set num=20

where

num between 20 and 29;


update mian set num=30

where

num between 30 and 39;


这是因为我没有真正理解列是变量这一概念

其实我们可以把(num)/10 去整然后*10,floor为向下取整函数

具体如下 :

update mian set num=floor(num/10)*10

where

num

between 20 and 39;

mysql中还许多函数,这个可以参考手册

FLOOR(x)   返回小于x的最大整数值

MOD(x,y)                 返回x/y的模(余数)

CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值