【一】.用户变量
(1).定义赋值变量使用SET命令,变量名称前必须加@符号
SET @money = 10;
(2).赋值变量使用SELECT命令,变量名称前必须加@符号,并且等号前面必须加冒号
SELECT @money := 10;
(2).使用变量
SELECT @money;
普通查询:
SELECT * FROM member WHERE money=@money; 查询用户余额等于10的用户
排序查询: (增加了一个sort显示出排名顺序,@sort变量递增赋值实现)
SET @sort = 0; SELECT id,money, @sort := @sort+1 as sort FROM member ORDER BY money DESC
id money sort 3 300 1 2 200 2 1 100 3
【二】.会话变量
(1).设置会话变量(session)(设置后仅本次生效)
SET SESSION sort_buffer_size = 50000; SET @@SESSION.sort_buffer_size = 50000;
(2).使用会话变量,变量名称前必须加@@符号(变量前是俩@,下面2个查询都是等价的)
SELECT @@SESSION.sort_buffer_size; SELECT @@LOCAL.sort_buffer_size;
(3).查看全部会话变量
SHOW SESSION VARIABLES;
【三】.全局变量
(1).设置全局变量
SET GLOBAL innodb_io_capacity = 300; SET @@GLOBAL.innodb_io_capacity = 400;
(2).查看某个全局变量
SHOW GLOBAL VARIABLES LIKE 'innodb_io_capacity';
(3).查看全部全局变量
SHOW GLOBAL VARIABLES
where与having非常类似.都能筛选数据.表达式完全一致. 但是职责的确不同.where负责对表中的字段进行筛选,having负责对where筛选后的结果集再次筛选。这也就是where不能使用别名字段来筛选的原因,因为数据中没有这个字段。&n...
Left join:即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。Right join:即右连接,是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表...
有很多集成环境安装完成之后是没有快捷方式的,例如西部数码的网站管理助手4.0,、 更或者是护卫神PHP套件都是一样的。安装完成最多给你安装一个PhPmyadmin让你管理Mysql,但是对于经常使用命令行的我们来说是非常不方面的,而且还必须安装PhPmyadmin来管理。下面就让我们自己手...
1.很多人认为count查询非常快,但是在加上筛选条件那就是未必的了!测试:user表中4000w数据(1).SELECT count(*) from user; 用时0.00s (2).SELECT...
概述: 目前我们的表设计,最高级别的范式是6NF,对于PHP程序员而言,我们的表满足3NF即可(范式即规范)【一】1NF (1).所谓1NF,就是指标的属性具有原子性,即表的列不能再分割,不能分割意思是字段本身的含义(例如address字段不能再分割)...
已有表名log来记录用户日志,id是主键,uid是用户id,rmk是备注,addtime是时间戳,需要取出不重复的用户日志记录默认的结果集:id uid rmk ...