下面结合 MySQL 实例说说联合索引中最左前缀原则。首先创建一张表 student,建立联合索引 name 和 sex。-- ---------------------------- -- Table structure for student -- ---------------------------- DROP TABLE IF EXISTS `student`; CREATE&n...
一、索引定义MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与...
一、前言在工作中经常要与mysql打交道,但是对mysql的各个字段类型一直都是一知半解,因此写本文总结记录一番。二、简介对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的int(11)代表什么意思,很长时间以来我都以为这代表着限制int的长度为11位,直到有天看到篇文章才明白,11代表的并不是长度,而是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的,这里贴一些原文片段The number in the pa...
今天要删除一批数据,大致意思是,删除表 A 数据,这些数据在表 A 存在,但是不在表 B 出现的数据,表 A 数据是表 B 数据父类。结果在执行 SQL 时报出 1093 错误,SQL 如下:DELETE FROM 主表 WHERE id IN ( SELECT cpxh.id AS cpxh_id FROM 表1 AS a LEFT JOIN ...
比如 表A 对应了 表B 的多条记录,并且希望关联的时候,取出 表B 中根据某个字段排序后的第一条数据。起先,尝试用 group by 语句,但是 group by 是对查询结果进行分组。我们这里是连表中的排序,无法使用 group by 语句。可以使用下面的方法(Yii 写法):$query->addSelect(["IF(temp.type=1,'备货单','请购单') as order_type_text"]);...