Mysql if判断 类型隐形转换注意事项

Mysql if(条件表达式, 值表达式1,值表达式2)判断时,如果条件表达式是普通字符串时,mysql会先进行隐性类型转换,将字符串转成float,然后根据float值,0为false,非0则为true。因此在进行if判断时,我们应尽量避免隐性转换,以免发生不可预知错误。

2019-06-26 08:49:08

阅读数 71

评论数 0

Mysql saas系统如何计算租户 数据存储空间大小、数据表记录数计算存储空间 探讨

通过Mysql系统表,information_schema数据库tables数据表的DATA_LENGTH, INDEX_LENGTH, TABLE_ROWS字段来估算SAAS系统租户数据存储空间。

2019-05-30 09:02:41

阅读数 58

评论数 0

mysql 有条件地计算行数 count

count是sql的一个标准行统计函数,在实际应用中很是普遍,还有另外一种情况也经常会被用到:有条件地统计行数。除此之外,count统计时会跳过null值,部分count可用sum求和代替。

2019-05-26 07:17:34

阅读数 54

评论数 0

mysql 左联left join解析及使用指南

left join在数据库编程应用中使用频率较高,而且合理使用left join有时会大大提高sql性能,降低编程复杂度。left join通常用于行记录信息补全,将not in子查询转换为一个大查询,将多个case查询转换为一个查询等。本文将讨论left join语法,left join 简单过...

2019-05-17 10:56:35

阅读数 90

评论数 0

mysql case when then end 和 if判断 常见使用方法

mysql有两个常用的流程控制运算符:case和if,当条件1时输出结果1,当条件2时输出结果n等待,if是简化的case,只有满足条件和不满足条件2种情况。流程控制运算符通常用于字段转换输出(整型转换成有意义的文本描述),根据条件切换取数来源,where动态条件等。

2019-04-15 11:09:50

阅读数 90

评论数 0

mysql 单表、多表删除的两种关联删除方式

mysql 单表、多表删除的两种关联删除方式: delete t1 from t1,t2 where ..., delete from t1 using t1, t2 where ...以及表别名使用。

2019-04-11 08:51:42

阅读数 54

评论数 0

从一段代码重构谈谈数据库应用中通过java运算减少sql的重要性

本文旨在讨论数据库应用中通过编程语言(Java、Python等)替代SQL的重要性,即SQL只负责简单的增、删、改、查操作,业务逻辑运算都由编程语言实现。我们通过一个在Code Review时碰到的真实场景谈谈编程语言和SQL各司其职的重要性。比如,用编程语言替代存储过程,用一个大查询+编程语言加...

2019-04-10 09:37:31

阅读数 32

评论数 0

谈谈企业信息化 数据库应用中的SQL进攻型(积极型)编程

何为数据库SQL“进攻型”编程或积极性编程?通常指先处理大概率发生事件,然后再处理小概率异常事件。我们以企业进销存软件销售模块中常见的销售订单审核为例,谈谈SQL“进攻型”编程和SQL“防御型”编程的差异。对于中小企业信息化开发来说,本来开发团队人员就少,因此建议使用SQL“进攻型”,提升团队开发...

2019-04-08 10:26:27

阅读数 119

评论数 0

mysql 行锁模拟、锁查看及排除

mysql行锁有共享锁(用于读取记录)和互斥排他锁(用于更新、删除记录)。本文讨论如何模拟普通行锁、行死锁,锁查看及排除。

2019-02-25 19:28:01

阅读数 83

评论数 0

Mysql 根据出生日期计算年龄 判断起始日期是否在某个有效时间段内等日期Hack汇总

根据以往的项目经验,本文总结并汇总了一些Mysql日期处理Hack。 1、根据出生日期计算年龄 2、查询某个时间段内的订单列表 3、判断起始日期是否在某个有效时间段内 4、计算用户每个月的登录天数

2019-02-18 08:58:58

阅读数 115

评论数 0

mysql null值比较及排序注意事项

使用is null或is not null进行null值判断,有时需要使用coalesce函数和ifnull函数现将null值转换为空字符串或0在进行比较运算。对字段进行排序,asc情况下null值排在最前方,desc时null值排在最后方。

2019-02-07 22:49:19

阅读数 27

评论数 0

mysql set @rownum 变量 实现字段递增赋值

本文讲述Mysql数据库如何实现字段递增赋值,解决门店重新连续编号问题。 set @rownum=10000; update sale_zd_shops SET shop_no = (select @rownum := @rownum +1 as nid);

2019-02-02 22:24:10

阅读数 156

评论数 0

mysql 根据出生日期计算年龄、日期格式化等常见日期处理相关函数使用汇总

本文分两部分,第一部分为Mysql 参考手册列举的日期、时间函数说明,如常见的:日期格式化、日期加减、日期截取。第二部分为根据项目实践谈谈常用的Mysql日期、时间函数使用案例,如:查询条件开始--截止日期,根据出生日期计算年龄,根据当前时间戳自动更新等。

2019-01-21 22:25:57

阅读数 126

评论数 0

Mysql列操作 增加列、删除列、修改列、调整列顺序 sql hacks

之前在win7下用sqlyog客户端操作mysql数据库时有个功能“reorder column”(列顺序调整)在表结构定义时被经常用到,后来在mac上使用navicat客户端(可能版本不对)居然没找到类似功能,所以只好写sql语句来实现,顺便总结下mysql 列操作相关的sql语法。

2018-12-25 13:42:05

阅读数 64

评论数 0

Mysql数据库 AUTO_INCREMENT 自增序列号 跳号处理

Mysql数据库产生序列号通常使用big int类型,并设置AUTO_INCREMENT为true,这样每次insert记录的时候,序列号会自动递增。该方式当insert执行完事务发生回滚时会产生跳号,如果项目有要求,就需要处理。本文讨论自增序列号发生跳号,如何处理。

2018-12-20 13:59:41

阅读数 483

评论数 0

MySql FIND_IN_SET, SUBSTRING_INDEX, REGEXP正则匹配等字符串替换、截取函数应用

Mysql数据库提供了比较丰富的字符串函数,如上文“谈谈Mysql 字符串连接 CONCAT CONCAT_WS GROUP_CONCAT区别及使用场景”中提到的字符串连接函数,本文继续讲述Mysql剩余常用字符串函数的使用注意事项及使用场景:字符串长度char_length,length; 字符...

2018-12-08 12:25:04

阅读数 248

评论数 0

Mysql 视图用途、使用场景、性能问题及使用注意事项

Mysql视图即是虚拟表,也称为派生表,因为它们的内容都派生自其它表的查询结果。虽然视图看起来感觉和基本表一样,但是它们部署基本表。基本表的内容是持久的,而视图的内容是在使用过程中动态产生的。本文讲述了视图的根本用途:简化sql查询、提升开发效率;视图常见使用场景;视图性能问题;视图merge和T...

2018-12-07 10:53:37

阅读数 1396

评论数 0

Mysql Stored Routines 自定义函数实现 腾讯地图gps两点间距离计算

Mysql Stored Routines,有存储过程(Procedures)和函数(Functions),在实际项目使用中用的比较多,是传统企业信息系统的最爱,比如很多分析报表几乎都依赖存储过程实现。本文描述了存储过程和函数的使用场景,一个根据经纬度坐标计算两点距离的函数demo和存储过程及函数...

2018-12-05 10:22:24

阅读数 94

评论数 0

谈谈Mysql 字符串连接 CONCAT CONCAT_WS GROUP_CONCAT区别及使用场景

Mysql数据库中字符串连接有3个常用函数:CONCAT、CONCAT_WS和GROUP_CONCAT,其中CONCAT、CONCAT_WS类似,而GROUP_CONCAT顾名思义是一个集合操作函数,本文谈谈三者区别及使用场景,同时分享一个Demo,用GROUP_CONCAT如何实现将细表物料名称...

2018-12-04 11:21:10

阅读数 30

评论数 0

谈谈mysql update语句 set顺序问题、列交换sql实现及多表更新注意事项

绝大多数数据库,在执行sql update语句时,update t set a = b, b=a 便可实现ab列值互换,赋值表达式右侧的值取的都是原始值。mysql则是例外,其单表更新是自左到右依次完成,即先完成a=b,然后在完成b=a(此时a=b),所以执行结果变成ab列都是b,然后多表更新则又...

2018-11-27 09:43:06

阅读数 509

评论数 0

提示
确定要删除当前文章?
取消 删除