MySql
文章平均质量分 61
arctan90°
莫把遗憾留给来日方长、
展开
-
主键、外键
目录主键(PRIMARY KEY)外键(FOREIGN KEY)主键(PRIMARY KEY)主键(PRIMARY KEY)的完整称呼是“主键约束”。MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。主键约束即在表中定义一个主键来唯一确定表中每一行数据的标识符。主键可以是表中的某一列或者多列的组合,其中由多列组合的主键称为复合主键。主键应该遵守下面的规则:(1)每个表只能定义一个主键...原创 2021-08-28 20:00:06 · 9682 阅读 · 0 评论 -
MySql:事务的ACID特性
目录一、事务概念二、事务的ACID特性一、事务概念定义:一个事务是由一条或者多条SQL语句所组成的一个不可分割的单元,只有事务中的所有操作都正常执行完,那么整个事务才能被提交到数据库。如果有部分事务处理失败,那么事务就会回退到最初的状态,因此:事务要么成功,要么全部失败,不能出现部分成功和失败。事务可以设置保存点SavePoint,当事务发生执行错误的时候,可以选择回滚到保...原创 2019-08-12 21:08:28 · 235 阅读 · 0 评论 -
MySql:索引的底层原理
索引的底层原理MySQL支持两种索引,一种是B-树(B树)索引,一种是哈希表索引,这两种索引的查询效率较高。MYSQL中InnoDB存储引擎是(基于B-树 ,实际MYSQL采用的是B+树) 的索引结构。B-树的特点:B-树是一种 m 阶平衡树,叶子节点都在同一层,由于每一个节点存储的数据量比较大,索引在整个B-树的层数是比较低的,基本上不超过三层。为什么将B-树的节点大小...原创 2019-08-12 20:55:32 · 852 阅读 · 0 评论 -
MySql:索引的执行过程
explain命令:可以查看SQL的执行计划,分析SQL是否正确使用索引。student 表如下:student 表存储的数据如下:用explain查看下面SQL语句的执行计划:explain分析SQL执行过程时:possible_key: 表示SQL执行可能会命中的索引key: 表示执行过程真正使用的索引名称rows: 表示查询数据影响的行数分析...原创 2019-08-12 20:48:11 · 2488 阅读 · 0 评论 -
MySql:索引的分类、创建、删除
目录一、索引的介绍二、索引的分类三、索引的创建与删除一、索引的介绍索引:是创建在数据库表中,是对数据库表中的一列或者多列的值进行排序的一种结果。作用:提高查询效率(B树 / 哈希结构)索引优点:提高查询效率索引缺点:索引并非越多越好,过多的索引会导致CPU使用率降低,由于数据的改动会引起索引文件的改动,过多的索引会引起磁盘I/O频繁,造成CPU负荷太重...原创 2019-08-12 20:35:21 · 246 阅读 · 1 评论 -
MySql:三范式
目录1. 第一范式(1NF:每一列保持原子特征)2、第二范式(2NF):解决方案:只要不存在复合主键3、第三范式(3NF):解决方案:实体单独建表范式总结:1NF:确保每列保持原子性2NF:确保表中的每列都和主键相关3NF:确保每列都和主键列直接相关,而不是间接相关1. 第一范式(1NF:每一列保持原子特征)列是基本数据项,不能在进行拆分,否则设计成一对多的关系,不...原创 2019-08-07 15:23:21 · 249 阅读 · 0 评论 -
ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in..的错误
在查询货品市场价格和店铺价格差价时出现这样的问题:ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in..出现错误的原因:由于其两个字段都是unsigned的,直接相减查询的时候,就出现ERROR 1690 (22003): BIGINT UNSIGNED value is out of range...原创 2019-06-12 10:40:13 · 6113 阅读 · 0 评论 -
MySql:where 子查询
where 子查询五种子句是有 严格的顺序的 where,group by,having,order by,limit查询每个栏目中最新的产品所有的商品 是一个大块 每个栏目 即按栏目分每个栏目中 还要找出 各自的小块 即 每个栏目中 goods_id 最大的商品 所以叫做 子查询select goods_id,goods_name from goods where go...原创 2019-06-14 14:15:22 · 3416 阅读 · 1 评论 -
ERROR 1055 (42000): Expression #3 of SELECT list is not in GROUP BY clause ... 的错误
在mysql中使用 group by 出现的问题ERROR 1055 (42000): Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ynn.goods.goods_id' which is not functionally dependent on colu...原创 2019-06-14 13:28:10 · 17849 阅读 · 7 评论