MySQL

Mysql中关于0值判断的坑及解决

Mysql关于0值判断的坑 最近遇到一个Mysql返回多值的问题,最后发现是mysql过滤条件中0值判断的问题。 简练问题如下 有个INT字段a,默认值为0,程序传入的判断条件是 a = 'abacd'。 传入的是一个字符串,结果a=0...

MySQL DDL执行方式Online DDL详解

1 引言 一般来说MySQL分为DDL(定义)和DML(操作)。 DDL:Data Definition Language,即数据定义语言,那相关的定义操作就是DDL,包括:新建、修改、删除等;相关的命令有:CREATE,ALTER,DROP,TRUNCA...

MySQL 原理与优化之Limit 查询优化

假设有表tb_sku,其表结构如下: 表中大约有200w条记录,执行如下的sql 语句大约 4.36s 返回数据 select count(*) from tb_sku; 接着我们使用 对其进行分页查找: select * from tb_sku limi...

SQL处理时间戳时如何解决时区问题实例详解

1.问题及解决办法 (1)问题:由于存储的时间戳是时间戳为GMT(格林尼治标准时间),以秒储存,但由于需要获取的是北京时间,存在时区问题。如何获取北京时区的时间日期? (2)通过上网查找了解决办法,有一堆办法,有说连接时设置地区,都很复杂,本人没成功。尝试...

Mysql CONVERT函数的具体使用

示例 CONVERT函数用于将值转换为指定的数据类型或字符集 1.转换指定字符集 CONVERT函数用于将字符串expr的字符集变成transcoding_name 语法结构 CONVERT(expr USING transcoding_name) exp...

深入了解MySQL中聚合函数的使用

聚合函数综合练习 -1 聚合函数综合练习 -2 今天的章节我们将要来学习一下 “聚合函数” ;首先我们需要学习聚合函数对数据进行统计分析,比如说求最大值、最小值、平均值之类的场景。但是单纯的使用聚合函数,只能做全表范围的统计分析。如...

Mybatis多表查询与动态SQL特性详解

[var] 1.1 参数占位符 #{} 和 ${} #{}:预处理符,如将id=#{2}替换为id=?,然后使用2替换?。 ${}:替换符,如将id=${2}替换为id=2。 两种占位符都可以正常使用的场合:传入的参数类型是数值类型 使用${}: sele...