【一】.用户变量
(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...
例如我们需要查询商品表中每个分类中商品id最大的记录,并且显示商品价格以下是表结构:id catename title &nb...
需求查询出存在商品的商品分类. 先看看分类表:id(分类的id) catename(分类名) 1 手机 2 &n...
有很多集成环境安装完成之后是没有快捷方式的,例如西部数码的网站管理助手4.0,、 更或者是护卫神PHP套件都是一样的。安装完成最多给你安装一个PhPmyadmin让你管理Mysql,但是对于经常使用命令行的我们来说是非常不方面的,而且还必须安装PhPmyadmin来管理。下面就让我们自己手...
1.floor(x)返回小于x的整数,向下取整,用法,商品的价格是浮点型的,需要向下取整 eg:select id,title,floor(price) from shopgoods2.rand()返回0-1之间的随机数 select rand() select rand()...
触发器是一种特殊的事务,可以监听到Mysql的(insert/update/delete)的操作并触发相应的(insert/update/delete)操作. 触发器的创建主要有4个要素:(1).监听地点(...