
MySQL
文章平均质量分 83
MySQL,最流行的开源关系数据库。
不剪发的Tony老师
《SQL编程思想》作者,PostgreSQL ACE。
展开
-
开源协议:MySQL vs PostgreSQL
开源协议:MySQL vs PostgreSQL原创 2024-11-01 21:00:00 · 443 阅读 · 0 评论 -
MySQL上新:MySQL 9.1.0发布
MySQL 9.1.0创新版发布了原创 2024-10-16 21:51:06 · 1911 阅读 · 0 评论 -
MySQL 9.0新特性:向量存储
MySQL 9.0 增加了一个新的向量数据类型:VECTOR。原创 2024-07-08 20:00:00 · 1996 阅读 · 0 评论 -
MySQL 9.0正式版本来了!
MySQL 9.0 第一个正式版本于 2024 年 7 月 1 日发布,这是一个创新版,意味着它会增加一些新功能、修复一些问题并弃用一些旧功能。原创 2024-07-03 15:00:00 · 1594 阅读 · 0 评论 -
MySQL版本发布模型
MySQL 8.0 之后使用了新的版本控制和发布模型,分为两个主线:长期支持版(LTS)以及创新版。原创 2024-06-19 20:00:00 · 933 阅读 · 0 评论 -
MySQL 8.0 新特性之不可见主键
MySQL 8.0.30 版本引入了一个新的功能,叫做不可见主键(Generated Invisible Primary Keys),它可以自动为没有显式指定主键的 InnoDB 表创建一个不可见的主键。原创 2024-03-27 21:17:06 · 7447 阅读 · 1 评论 -
SQL面试题:第二个优化案例
SQL优化案例,涉及索引避免额外的分组和排序,以及查询改写。原创 2023-08-08 20:27:43 · 805 阅读 · 0 评论 -
SQL面试题:一个优化案例
一个SQL优化案例,涉及索引失效、索引覆盖优化、复合索引字段顺序选择。原创 2023-08-02 20:54:57 · 1077 阅读 · 0 评论 -
MySQL 8.1.0正式发布!
MySQL 官方于 2023-07-18 发布了 MySQL 8.1.0 和 MySQL 8.0.34,分别代表了创新版和长期支持版。原创 2023-07-20 21:36:31 · 1263 阅读 · 0 评论 -
MySQL 查看版本的 5 种方法
MySQL 提供了几种用于查看服务器版本的方法,本文给大家做个简单的介绍。原创 2023-02-14 22:01:57 · 54529 阅读 · 0 评论 -
MySQL 向左,PostgreSQL 向右
MySQL 和 PostgreSQL 是我们熟知的两种开源关系型数据库。它们之间有很多共同之处,但也存在一些重要的区别,从而为新手甚至老司机带来了选择上的争论和困难。本文对这两种数据库系统进行了详细的比较,给出了它们之间的异同,方便大家选择数据库时作为参考。如果你想要直接知道结论:MySQL 简单易用,适合互联网业务;PostgreSQL 支持丰富的功能和扩展,尤其适合复杂的企业在线应用和分析系统。原创 2023-01-07 10:06:22 · 4643 阅读 · 2 评论 -
MySQL 8.0新特性之INTERSECT和EXCEPT
最新发布的 MySQL 8.0.31 继续对 SQL 语句进行了增强,提供了缺失已久的两个集合操作符:INTERSECT 和 EXCEPT。原创 2022-10-23 22:20:20 · 4151 阅读 · 5 评论 -
MySQL 中各种对象的大小长度限制
今天给大家介绍一下 MySQL 8.0 中的各种对象的大小、长度以及数量限制,包括标识符的长度限制,权限表中范围字段的长度限制,数据库和表的数量限制,表大小的限制,字段数量和数据行大小的限制。原创 2021-12-20 18:00:00 · 4184 阅读 · 1 评论 -
某互联网公司数据分析岗 SQL 笔试题
某互联网(直播带货)公司数据分析师的实习岗面试 SQL 笔试题的解析,使用的数据库是 MySQL 8.0。对于数据分析岗而言,SQL 分组聚合、CASE 表达式、窗口函数的掌握是基本要求。原创 2021-11-07 21:15:00 · 3113 阅读 · 1 评论 -
【解读】阿里巴巴 MySQL 数据库规约
本文是个人对阿里巴巴集团《JAVA开发手册》(嵩山版)中关于 MySQL 数据库规约的理解,如有异议,实属正常。原创 2021-10-24 22:39:14 · 2725 阅读 · 2 评论 -
MySQL 正则表达式函数大全
除了标准的 SQL 模式匹配(LIKE 运算符)功能之外,MySQL 还提供了基于扩展正则表达式的模式匹配功能,类似于 Unix 操作系统中的 vi、grep 以及 sed 工具。本文给大家详细介绍一下 MySQL 中正则表达式函数和运算符的语法和使用,以及注意事项。具体包含REGEXP_LIKE、REGEXP、RLIKE、REGEXP_INSTR、REGEXP_SUBSTR、REGEXP_REPLACE。原创 2021-09-13 22:18:36 · 4634 阅读 · 1 评论 -
细说 MySQL 创建表的三种方法
SQL 标准使用 CREATE TABLE 语句创建数据表;MySQL 则实现了三种创建表的方法,支持自定义表结构或者通过复制已有的表结构(CREATE TABLE ... LIKE 以及 CREATE TABLE ... SELECT)来创建新表,本文给大家分别介绍一下这些方法的使用和注意事项。原创 2021-08-27 16:08:32 · 36885 阅读 · 8 评论 -
MySQL 十大常用字符串函数
MySQL 为我们提供了许多用于处理和分析数据的系统函数,本文给大家介绍 10 个常用的字符串函数,以及相关的其他函数。具体包括 CONCAT()、LOWER()、UPPER()、LENGTH()、SUBSTRING()、TRIM()、LPAD()/RPAD()、INSTR()、REPLACE()、REVERSE() 等。原创 2021-06-30 11:46:21 · 2293 阅读 · 10 评论 -
MySQL 避坑指南之隐式数据类型转换
文本介绍了 MySQL 中存在的隐式数据类型转换以及可能带来的问题。当两个不同类型的数据进行运算时,为了使得它们能够兼容,MySQL 可能会执行隐式的数据类型转换。原创 2021-06-22 22:43:21 · 2919 阅读 · 1 评论 -
前方危险:MySQL UPDATE 语句的非标准实现
本文介绍了 MySQL 数据库中 UPDATE 语句和 SQL 标准(以及其他数据库)实现上的一个差异。对于 MySQL 而言,如果 UPDATE 语句在表达式中使用了前面被更新的字段,将会使用该字段被更新后的值而不是原来的值。原创 2021-03-11 17:00:48 · 48456 阅读 · 10 评论 -
MySQL 8.0 新特性之隐藏字段
MySQL 8.0.23 版本增加了一个新的功能:隐藏字段(Invisible Column),也称为不可见字段。本文给大家介绍一下 MySQL 隐藏字段的相关概念和具体实现,包括如何创建隐藏字段和查询隐藏字段、如何查看隐藏字段相关的字典信息以及二进制日志对隐藏字段的处理。原创 2021-02-18 22:11:59 · 5850 阅读 · 6 评论 -
SQL 聚合函数之字符串分组合并
本文介绍了如何通过 SQL 函数对字符串进行聚合,也就是将多行字符串合并成单个字符串。包括 Oracle(LISTAGG 函数)、MySQL(GROUP_CONCAT 函数)、SQL Server(STRING_AGG 函数)、PostgreSQL(STRING_AGG 函数)以及 SQLite(GROUP_CONCAT 函数)的语法和差异。原创 2020-12-08 22:55:38 · 8377 阅读 · 1 评论 -
MySQL 如何隐藏客户姓名、手机号或者身份证号中的部分信息
介绍如何利用 MySQL 字符串函数将用户姓名、手机号、身份证号以及银行卡号等的部分内容显示为星号(*),从而实现信息的隐藏,保护信息安全。原创 2020-10-28 21:40:29 · 5484 阅读 · 6 评论 -
SQL 优化极简法则,还有谁不会?
SQL 查询优化是一个复杂的工程,涉及从硬件到参数配置、不同数据库的解析器、优化器实现、SQL 语句的执行顺序、索引以及统计信息的采集等,甚至应用程序和系统的整体架构。本文介绍几个关键法则,可以帮助我们编写高效的 SQL 查询;尤其是对于初学者而言,这些法则至少可以避免我们写出性能很差的查询语句。原创 2020-10-23 11:38:53 · 22381 阅读 · 65 评论 -
SQL 中的昨天、今天和明天
本篇给大家介绍一下 SQL 获取系统日期的内置函数,日期加减运算的函数和操作符,以及不同数据库中的扩展实现,包括:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite 数据库。原创 2020-10-14 12:28:16 · 13210 阅读 · 3 评论 -
8 款免费的 MySQL 数据库建模工具
数据库建模和设计是软件开发过程中必不可少的步骤,一个良好的建模工具可以帮助我们简单快速地完成数据库设计,提高工作的效率。因此,今天给大家推荐几款免费的 MySQL 数据库建模工具,包括 MySQL Workbench、SQL Power Architect、PDMan、RISE、GenMyModel、DB Designer、dbdiagram.io、Freedgo。原创 2020-09-09 22:14:25 · 22166 阅读 · 5 评论 -
连接查询你一定不陌生,但你知道还有半连接和反连接吗?
半连接(Semi Join)返回左表中与右表至少匹配一次的数据行,通常体现为 EXISTS 或者 IN 子查询,反连接(Anti Join)返回左表中与右表不匹配的数据行,通常体现为 NOT EXISTS 或者 NOT IN 子查询。原创 2020-08-21 17:51:13 · 6366 阅读 · 1 评论 -
MySQL 生成随机数字、字符串、日期、验证码以及 UUID
介绍在 MySQL 数据库中生成随机数据的方法,包括随机数字、验证码、随机字符串以及随机日期和时间等,同时还介绍了如何从表中返回随机记录,以及如何生成 UUID。原创 2020-08-18 17:56:33 · 6542 阅读 · 5 评论 -
MySQL 如何查找并删除重复记录
介绍了如何在 MySQL 中查找并删除重复记录,包括使用 GROUP BY 分组、子查询或者连接查询等方法查找单个字段或者多个字段中的重复数据,以及使用 DELETE FROM 语句、子查询、中间表和窗口函数等方法实现重复数据的删除。原创 2020-08-11 18:00:04 · 4408 阅读 · 0 评论 -
MySQL/MariaDB 如何实现数据透视表
介绍 MySQL/MariaDB 中如何实现数据透视表(Pivot table),包括使用 CASE 表达式和分组聚合操作,使用预编译的动态 SQL 语句,以及使用 MariaDB CONNECT 存储引擎中的 PIVOT 类型表三种方式。原创 2020-07-31 17:49:21 · 8393 阅读 · 8 评论 -
MySQL 如何生成连续的数字/字符/时间序列
介绍如何在 MySQL 中生成连续的数字、字符以及时间序列值。包括使用视图模拟生成连接的数字序列、间隔的数字序列、连续的字符序列以及间隔的时间序列,使用通用表表达式生成等差数字序列、等比数字序列、斐波那契数列、连续的字符序列以及间隔的时间序列。原创 2020-07-15 21:52:44 · 11321 阅读 · 0 评论 -
MySQL 字符集不一致导致索引失效的一个真实案例
MySQL 字符集不一致导致索引失效的一个真实案例,通过 explain 和 show warnings 发现索引没有被使用,而且存在字符集转换的操作。通过修改字段的字符集之后,解决了慢查询的性能问题。原创 2020-07-10 11:29:42 · 12260 阅读 · 5 评论 -
MySQL 如何实现一个只有一行数据的表
介绍如何在 MySQL 中实现一个只有一行数据的表。我们可以创建一个 ENUM 枚举数据类型字段或者计算列,并且基于该字段创建唯一索引来实现该功能;MySQL 8.0 新增的函数索引甚至不需要创建额外的字段就可以实现相同的功能。原创 2020-07-07 16:25:56 · 5668 阅读 · 2 评论 -
学习 MySQL 必备的几个示例数据库
MySQL 官方网站提供了以下几个示例数据库:Sakila、Employees、world、world_x 以及 menagerie。这些数据库既可以用于日常学习和测试,也可以作为我们设计时数据库的一个参考。本文就来介绍一下这些数据库的模式结构以及如何下载和安装。原创 2020-06-17 16:47:54 · 10134 阅读 · 1 评论 -
MySQL 8.0 中 4 个默认的系统数据库
MySQL 8.0 默认安装的 4 个系统数据库:mysql 数据库存储了 MySQL 服务器正常运行所需的各种信息;information_schema 提供了访问数据库元数据的各种视图,包括数据库、表、字段类型以及访问权限等; performance_schema 为 MySQL 服务器的运行时状态提供了一个底层的监控功能;sys 包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图。原创 2020-06-11 22:11:02 · 11237 阅读 · 2 评论 -
MySQL 8.0 新特性之检查约束(CHECK)
介绍 MySQL 8.0 增加的新功能:检查约束(CHECK ),定义列级检查约束和表级检查约束,检查约束的 enforced 选项,检查约束的使用限制。原创 2020-06-05 14:52:42 · 14231 阅读 · 0 评论 -
MySQL 8.0 新特性之窗口函数
介绍 MySQL 8.0 中的一个新特性:窗口函数。窗口函数(Window Function)针对查询中的每一行数据,基于和它相关的一组数据计算出一个结果。原创 2020-05-27 22:28:21 · 1890 阅读 · 1 评论 -
MySQL 服务器中的 6 种日志类型
MySQL 提供了一套完整的服务器日志体系,包含了多种日志类型,可以帮助我们查找、解决系统问题和优化数据库的性能。例如:错误日志、通用查询日志、慢查询日志、二进制日志、中继日志以及 DDL 日志。原创 2020-05-22 17:51:20 · 3658 阅读 · 0 评论 -
MySQL 常用脚本之查看视图、存储过程/函数、触发器、计划任务等信息
MySQL 常用的查询脚本,包括查看视图 information_schema.views、存储过程/函数 information_schema.routines、触发器 information_schema.triggers、计划任务/事件 information_schema.events 以及对象依赖等信息。原创 2020-05-12 12:39:07 · 3830 阅读 · 7 评论 -
MySQL 常用脚本之查看数据库、表结构、约束、索引等信息
各种 MySQL 常用脚本,查看 MySQL 数据库模式 show databases 以及数据表的结构 show tables,包括字段定义、主键、外键、唯一等约束和索引信息,如何查看表和索引占用的磁盘空间等。原创 2020-05-11 18:07:22 · 3580 阅读 · 1 评论