Mysql的查询模型
2016-05-17 11:33
344 查看
Mysql查询模型:
把列看成变量,把where后面看成PHP中的if(exp) 表达式 哪一行能让exp为真,哪一行就能取出来
还有列既然可以看作是变量,变量之间可以进行与运算。
以前写sql语句就是写的多了以后,发现也没有什么,没有理解到可以把列当成变量,来运算,看燕十八老师的视频是长见识了,看来自己还是太菜了。
下面有一道题目可以帮助我们更好的理解列是变量这一问题
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连接成字符串
把列看成变量,把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连接成字符串
相关文章推荐
- Navicat 回复 psc 文件 Mysql
- MySQL- SHOW TABLE STATUS命令
- mysql
- 使用MyBatis搭建一个访问mysql数据库的简单示例
- MySQL修改root密码的各种方法整理
- MySQL 创建库
- mysql事件
- 初看mysql源代码之mysql.cc
- Mysql 性能优化 ( my.cnf )
- mysql集群实例
- mysql存储过程之游标遍历数据表
- [转]MySQL存储过程调试工具(dbForge Studio for MySQL工具)
- mysql存储过程 例子 游标cursor 循环嵌套 事物
- 基于MySQL游标的具体使用详解
- MySQL从其他数据表或者查询结果中创建数据表
- Mac OS下安装mysql及其简单使用
- mysql游标循环的使用
- MySQL 5.1.72安装
- mysql 怎样清空一个数据库中的所有表
- Mysql数据库5.7以上版本免安装版本配置