【一】.用户变量
(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
1.MyISAM 建立一个MyISAM引擎的表时,就会在本地磁盘上建立三个文件,.frm格式文件,存储表定义;.MYD格式文件,存储数据;MYI格式文件,存储索引;方便数据迁移,我只需将mysql安装目录下data文件中的表文件复制即可完成数据迁移,之前在搬迁多个dedecms中深有体会。 ...
1.floor(x)返回小于x的整数,向下取整,用法,商品的价格是浮点型的,需要向下取整 eg:select id,title,floor(price) from shopgoods2.rand()返回0-1之间的随机数 select rand() select rand()...
(1).首先我们需要了解limit分页的工作流程demo: SELECT * FROM table LIMIT 10000,5 通常我们会认为以上SQL会从10000条后面取5条,正确的是取出10005条,然后再抛弃前...
项目和第三方系统对接,由于第三方开发人员属于兼职,数据库结构不一致的问题只能我来处理。此处文章用本地模拟演示。数据库资料:1号服务器: 账号root 密码root IP:127.0.0.1 数据库名称:data1 2号服务器...
已有表名log来记录用户日志,id是主键,uid是用户id,rmk是备注,addtime是时间戳,需要取出不重复的用户日志记录默认的结果集:id uid rmk ...
通常我们使用自定义排序的语法是:ORDER BY FIELD(`字段名称`, 值1, 值2, 值3),但是如果我想强制值1到值3永远在前面,这个语法是满足不了的.(1).基本的会员数据表:id name &n...