MySQL系列(4): MySQL 常用函数
MySQL 提供了丰富的函数,可以帮助编写简单快捷的 SQL 语句。比如字符串处理、数值运算、日期运算等。
常用的函数有字符串函数、日期函数、数值函数、聚合函数,还有 全文检索函数、转换函数、XML函数、位操作函数、加密解密函数、锁函数、MySQL信息函数、几何函数、空间函数、JSON 函数、MySQL 企业加密函数、其它函数。
此篇文章目的是作为字典,看过一遍先了让自己有个映像有些函数可以实现某些功能,具体需要使用再查询,多用几次就记住了。
MySQL 提供了丰富的函数,可以帮助编写简单快捷的 SQL 语句。比如字符串处理、数值运算、日期运算等。
常用的函数有字符串函数、日期函数、数值函数、聚合函数,还有 全文检索函数、转换函数、XML函数、位操作函数、加密解密函数、锁函数、MySQL信息函数、几何函数、空间函数、JSON 函数、MySQL 企业加密函数、其它函数。
此篇文章目的是作为字典,看过一遍先了让自己有个映像有些函数可以实现某些功能,具体需要使用再查询,多用几次就记住了。
MySQL 支持多种数据类型来存储数据,包括数值类型、字符串类型、时间和日期类型、JSON格式类型。
本篇是对 MySQL 5.7 版本官方手册 **[MySQL 5.7 Reference Manual . Chapter 11 Data Types]**章节的简单汇总,便于快速查看。
快速了解基本的 SQL 语句。
SQL(Structure Query Language - 结构化查询语言),已是关系数据库的基本标准。
本篇涉及到的 SQL 语法可能并不完整,主要是为了快速构建一个 SQL 操作的概念。实际工作中大多会借用工具来快速操作,如SQLyog、Navicat。
初衷,做开发有些年,数据库这块大部分也是和 MySQL
打交道,有很多临时、零散、不成体系的笔记和日志,但极缺乏一个对MySQL全面的、系统的认知,所以写这系列文章,以期补上。
本系列文章基于 MySQL 8.0
版本,也是市面和云平台用生产部署使用的较多的版本,也会涉及MariaDB
相关特性。在写这篇文章之时,MySQL 8.0
已正式发布,是个大版本,有较大的改动和优化,基于新版本稳定性问题的考虑,估计目前市场使用极少。后续对 MySQL 8.0.x特性做补充。
在关系数据库领域,MySQL占大半的市场份额,特别是中小型企业或互联网企业。开源的MySQL社区版本是免费的,基本可以满足对业务数据存储的需求。
近些年出现了很多优秀的NOSQL
产品,个人认为NOSQL凭借优秀的特性,与关系数据库是个互相协作的关系,充分发挥各自的优势,为系统提供优秀服务。
目前还看不到NOSQL
可以完全替代关系数据库的迹象,关系数据库仍将长久生存下去,MySQL 仍值的系统研究学习。
MySQL 相关链接:MySQL 官网,MySQL Community Server Download,MySQL Documentation, MySQL GitHub,MySQL test_db GitHub
MariaDB(mysql 分支) :MariaDB Foundation(基金会),MariaDB Downloads,MariaDB 社区官网 MariaDB Knowledge Base, MariaDB GitHub
Redis 已成为被广泛使用的成熟开源软件(内存数据库)。有很多基于 Redis 的开源项目、工具、模块,为分布式,集群,分布,管理 等提供了很好的解决方案。感谢开源社区。
Redis 实验室:RedisLabs GitHub,Redis 模板:Redis Labs Modules GitHub
Redis 是基于内存的键值数据库,除了延迟问题之外,内存使用是另一种致命问题。
在极少数情况下,Redis 可能遇到致命的崩溃问题,可能通过更多的操作来对问题进行诊断分析。
Redis Memory Optimization,译文:内存优化, Redis 4.x系列(十二):Redis 内存优化(使用合适的数据类型)
防止表单重复提交网上有很多文章描述了和解决方案,这里做个汇总。另最近的项目在重复提交上出现了较少见的情况,做个记录。
Swagger官方宣称是最好的 API 文档构建工具,也确实好用,易用。Swagger 生成的 API 接口文档是 Restful 风格的,会自动识别传参方式( path , query , body ),参数类型等;会自动识别允许的请求方式,若接口没有限制请求方式,Swagger 则会生成 Restful 风格的所有请求(get、post、put、patch、options、head、delete)。
项目的 API 接口需要更新,需要维护,直接通过 Swagger 工具生成非常的方便,不需要维护一个单独的API文档。单独的 API 文档非常容易出错和遗漏,特别是时间长了修改的人多的情况下,更是难以保证准确性。
Redis 服务在生产环境上线运行后,因为使用了不恰当的命令或在大数据集情况下可能出现响应客户端延迟问题;Redis 是单线程快速处理请求,在亚微秒范围内,若现现了延迟则其它所有客户端的请求都将进入等待,这是无法接受的。
本篇对延迟原因进行分析诊断,对服务器环境进行延迟测试并提供优化措施。官方相关资料Redis 延迟问题诊断:Redis latency problems troubleshooting,Redis 延迟监控框架:Redis latency monitoring framework
Redis 服务上线后,难免会出现故障需要诊断修复。
服务器日常运维需要进行健康检查,日常的健康检查可以在故障发现之前给运维管理人员提前预警,可以了解发生了什么,服务器的各项指标情况;可以使用SLOWLOG
命令来识别慢速命令或慢操作等。当产生故障时就是到了最糟糕的情况。