Mysql的查询模型

来源:互联网 发布:抽数字软件在线 编辑:程序博客网 时间:2024/06/05 20:04

Mysql查询模型:

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

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


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


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

把num值处于[20,29]之间,改为20num值处于[30,39]之间的,改为30mian表+------+| 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连接成字符串

0 0
原创粉丝点击