您的位置:首页 > 数据库 > MySQL

Mysql的查询模型

2016-05-17 11:33 344 查看
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连接成字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: