标签:MySQL
-
13-十三、MySQL 数值类型溢出处理
来,考考大家一个问题,在 MySQL 中当某一列设置为 int(0) 时会发生什么 ? 为了演示这个问题,我们先要创建一个表 DROP TABLE IF EXISTS `na`; …
-
11-十一、MySQL 也有精确精度的浮点数 ( 上 )
MySQL 支持 SQL 标准中提到的所有数值数据类型,这些类型包括精确的数值数据类型,例如 INTEGER、SMALLINT、DECIMAL 和 NUMERIC,也包括一些 近似…
-
10-十、臭名昭著的 MySQL ENUM 类型 ( 下 )
使用 MySQL ENUM 作为列的数据类型有两个主要的好处,一是使得数据更紧凑进而节省空间,二是更好的可阅读性。但是,享受这些好处的同时,也要承担 ENUM 所带来的各种负面影响…
-
09-九、臭名昭著的 MySQL ENUM 类型 ( 上 )
MySQL 中,对于那些取值只有两三个,或者五个以内的值,想必,大多数人使用的应该都是 ENUM 类型吧,而剩下的另一部分人,应该都是使用 TINYINT(1) 。 我,就是剩下的…
-
08-八、傻傻分不清的 DATE、DATETIME 和 TIMESTAMP ( 下 )
前一章节我们有提到 MySQL 服务的系统变量 explicit_defaults_for_timestamp 对 timestamp 类型的影响,知道禁用该系统变量时,times…
-
05-五、被 MySQL sql_mode 深深伤害( 下 )
当我们要重新设置 MySQL sql\_mode 的时候,可能看到那一串长长的列表就会患头痛病,这哪个是哪个啊,哪个是重要的啊?哪个是可以缺少的啊? 我们就会想要呼唤一个简单的版本…
-
04-四、被 MySQL sql_mode 深深伤害( 中 )
前一章节我们讲解了 MySQL sql_mode 的一些概要的知识,讲解了使用 select @@sql_mode; 语句可以查看当前 MySQL 连接的 sql_mode…
-
03-三、被 MySQL sql_mode 深深伤害( 上 )
常在海边走,哪有不湿鞋,用 MySQL 多了,就常常会遇见各种错误,尤其是不同版本带来的错误。 而经常刺痛我们的,应该数 MySQL 的 sql_mode 了,比如在 记不住的 M…
-
02-二、记不住的 MySQL DISTINCT 的用法 ( 下 )
上一章节我们学习了 SQL DISTINCT 的位置对结果的影响。但我们还没深入到 MySQL DISTINCT 关键字的核心用法,同时,我们也还未讲解 DISTINCT 有无小括…
-
01-一、记不住的 MySQL DISTINCT 的用法 ( 上 )
即使在自己记忆力最好的时候,也是记不住 MySQL DISTINCT 的用法。我一直对这个记不住好奇,想不明白,为什么。 前几天翻 MySQL 手册,看到 DISTINCT 又发现…
-
12-十二、MySQL 面试题 InnoDB 创建 InnoDB 表
要创建 InnoDB 表,可以使用 CREATE TABLE 语句 CREATE TABLE t1 (a INT, b CHAR (20), PRIMARY KEY (a)) EN…
-
11-十一、MySQL 面试题 InnoDB 中的全文索引 ( 下 )
MySQL InnoDB 中的全文索引的最后一章节,我们来 InnoDB 全文索引中的那些处理逻辑,包括删除索引逻辑和事务逻辑。 InnoDB 全文索引删除处理 删除具有全文索引列…
-
10-十、MySQL 面试题 InnoDB 中的全文检索索引 ( 中 )
在 「 MySQL InnoDB 中的全文检索索引 ( 上 ) 」 章节中,我们学习了 MySQL InnoDB 全文索引的相关的表。当插入文档时,会对其进行分词,也就是 Toke…
-
09-九、MySQL 面试题 InnoDB 中的全文检索索引 ( 上 )
在基于文本类型的列 ( char 、varchar 和 text ) 上创建全文 ( FULLTEXT ) 索引,并忽略任何定义为停用词的单词, 可以加快对这些列中包含的数据的查询…
-
08-八、MySQL 面试题 InnoDB 排序索引构建
在上一章节 「 MySQL InnoDB 索引的物理保存结构 」 中我们有提到:InnoDB 在创建或重建 B 树索引时会执行批量加载,这种索引创建方法称为 「 排序索引构建 」 …
-
07-七、MySQL 面试题 InnoDB 索引的物理保存结构
几乎所有的 Innodb 的索引都使用 B 树 数据结构,除了空间索引 ( spatial indexes ) 是个例外。 空间索引使用的是 R 树 数据结构 ,这是一种索引多维数…
-
06-六、MySQL 面试题 InnoDB 聚簇索引和非聚簇索引
每个 InnoDB 表都有一个称为 「 聚簇索引 」 的特殊索引,通常情况下,这个聚簇索引就是 「 主键 」( primary key ) 。Innodb 使用它存储表中每一行的数…
-
05-五、MySQL 面试题 InnoDB AUTO_INCREMENT ( 末 )
经过前面上中下三个章节的学习,我们终于了解了 MySQL Innodb 中的 AUTO_INCREMENT 约束和 AUTO_INCREMENT 锁的模式。也了解了各种模式的影响和…
-
04-四、MySQL 面试题 InnoDB AUTO_INCREMENT ( 下 )
前面两章节,我们介绍了 MySQL Innodb AUTO_INCREMENT 锁的三种模式,分别为 「 传统模式 」 、 「 连续模式 」 、「 交错模式 」 ,这三种模…
-
03-三、MySQL 面试题 InnoDB AUTO_INCREMENT ( 中 )
上一章节中,我们介绍了 innodb_autoinc_lock_mode = 0 传统锁模式,知道了在传统锁模式下,所有的 「 insert like 」 语句都会获得一个特殊的 …