首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库学习

‘毛%’ 模糊查询占位符 _ 表示单个任意字符占位符 % 表示多个任意字符 is [not] null 查询某一[不]为NULL ,注:NULL不能用 = 判断 逻辑运算符 说明 and ...注意 如果有多个排序条件,则当前边条件一样,才会判断第二条件。 聚合函数 将一数据作为一个整体,进行纵向计算。...聚合函数计算,排除null。...,某一不能为null 创建表添加非空约束 create table 表名( 变量1 int, 变量2 varchar(32) not null -- 给变量2添加非空约束 ); 创建表后添加非空约束...持久性:当事务提交回滚后,数据库持久化保存数据。 隔离性:多个事务之间。相互独立。 一致性:事务操作前后,数据总量不变。 隔离级别 多个事务之间是隔离,相互独立

4.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

TiDB 源码阅读系列文章(七)基于规则优化

Projection 里面会裁掉用不上,DataSource 里面也裁剪掉不需要使用。 Aggregation 算子涉及哪些?group by 用到,以及聚合函数里面引用到。...首先,如果 Projection 算子要投影,跟它孩子结点输出列,是一模一样,那么投影步骤就是一个无用操作,可以消除。...做谓词下推,如果我们知道接下来谓词条件一定会把包含 NULL 行全部都过滤掉,那么做外连接就没意义了,可以直接改写成内连接。 什么情况过滤掉 NULL 呢?...比如,某个谓词表达式用 NULL 计算后会得到 false;或者谓词里面用 OR 条件连接,其中一个过滤 NULL;又或者用 AND 条件连接,其中每个都是过滤 NULL 。...对于 Projection,它孩子中唯一索引信息,跟它投影表达式取交集。比如 a b c 都是唯一索引,投影其中 b ,输入 b 仍然具有唯一属性。

7.1K161

《高性能Mysql》读书笔记之Schema与数据类型优化

当数据较好范式化时,就只要很少这没有重复数据,所以只需要修改更少数据 范式化表通常更小,可以更好放在内存里,所以执行操作更快 很少有多余数据意味着检索列表数据更少需要DISTINCT或者...实际环境中不可能完全范式化反范式化 四、缓存表和汇总表 缓存表 | 表示存储那些可以比较简单地从schema其它表获取(但获取速度比较慢)数据表 汇总表 | 保存使用 GROUP BY 语句聚合数据表...可能不需要重建表一些操作 移除(非增加)一个AUTO_INCREMENT属性 增加、移除更改ENUM和SET常量。...该操作会通过排序来构建所有索引,包括唯一索引 总结 避免过度设计 避免NULL 使用小而简单适合数据类型 尽量使用相同数据类型存储相似相关,尤其是在关联条件中使用 注意可变长字符串,其在临表和排序时可能导致最大长度分配内存...尽量使用整型定义标识 避免使用MYSQL已经遗弃特性 小心使用ENUM和SET 范式是好,但反范式有时也是必须,并且能带来好处 10.ALTER TABLE是痛苦操作,因为大部分情况下锁表并重建整张表

14930

sparksql源码系列 | 最全logical plan优化规则整理(spark2.3)

2.当两个Project运算符之间有LocalLimit/Sample/Repartition运算符,且上层Project由相同数量组成,且数相等具有别名。...当计算整个搜索条件,只有当Literal(null, BooleanType)在语义上等同于FalseLiteral,替换才有效。...这可以通过以下方式实现:1.在其计算结果始终为true情况下,省略Filter。2.当筛选器计算结果总是为false,替换成一个伪空关系。3.消除子节点输出给定约束始终为true条件。...冗余别名是不会更改名称元数据,也不会消除重复数据别名。...冗余聚合是一种聚合,其唯一目标是保持不同,而其父聚合将忽略重复

2.4K10

【Mysql】耗时7200秒整理mysql笔记!常用API汇总!包教包

默认计算结果均为 nullnull替换为一个-- IFNULL(可能为NULL,如果为NULL要替换)SELECT name,math,english,math + IFNULL(english...ASC:升序# DESC:降序5.聚合函数-- 聚合函数:将一数据作为整体进行计算(计算默认排除 NULL )# count:统计个数# 一般选择非空:主键# count(*) 统计所有...有一不为null 就统计在内# max:计算最大# min:计算最小# sum:计算和# avg:计算平均值SELECT COUNT(math) FROM student;SELECT COUNT...,一个属性属性组,被其他所有属性所完全依赖,则称这个属性(属性)为该表码主属性:码属性组中所有属性非主属性:除过码属性组属性第三范式:在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF...:是不可分割最小操作单位,要么同时成功,要么同时失败持久性:当事务提交回滚后,数据库持久化保存数据隔离性:多个事务之间 相互影响一致性:事务操作前后 数据总量不变事务隔离级别概念∶多个事务之间隔离

1.3K00

数据查询语言QL

聚合函数: SQL提供了下列聚合函数: COUNT(*) 计算元组个数 COUNT() 对一计算个数 SUM() 求某一总和(此列必须是数值型) AVG()...求某一平均值(此列必须是数值型) MAX() 求某一最大 MIN() 求某一最小 SELECT语句完整结构: SELECT    ...空比较操作: SQL允许为空,空NULL表示,NULL不占用空间。 空存在增加了算术操作和比较操作复杂性。...SQL中规定,涉及+,-,*,/算术表达式中有一个是空,表达式也是空。涉及空比较操作结果认为是”false“。...在聚合函数中遇到空,除了COUNT(*)外,都跳过空去处理非空。 集合成员资格比较: 判断元组是否在查询结果(即集合)中操作,叫做”集合成员资格比较“。

2.3K00

ClickHouse一些优化操作(五)

底层语法优化 1 count优化 2消除子查询重复字段 3 谓词下推 4 聚合计算外推 5 聚合函数消除 6 删除重复 order by key 7 删除重复 limit by key 8 删除重复...官方已经指出Nullable类型几乎总是拖累性能,因为存储Nullable需要创建一个 额外文件来存储 NULL 标记,并且 Nullable 无法被索引。...4 写入和删除优化 (1)尽量不要执行单条小批量删除和插入操作,这样产生小分区文件,给后台 Merge 任务带来巨大压力 (2)不要一次写入太多分区,数据写入太快,数据写入太快导致 Merge...聚合函数内计算外推,例如: EXPLAIN SYNTAXSELECT sum(UserID * 2)FROM visits_v1//返回优化后语句 SELECT sum(UserID) * 2...FROM visits_v1 5 聚合函数消除 如果对聚合键,也就是 group by key 使用 min、max、any 聚合函数,则将函数消除 EXPLAIN SYNTAXSELECT sum

1.1K30

MySQL与Python交互入门

1 = 1, 2 = 2, ... where 条件4、查 查询表中全部数据 select * from 表名 五、查...as a,age from student;2、消除重复行 在select后面前面使用distinct可以消除重复行 eg:select distinct gender from student3...逻辑运算符and比or优先级高,同时出现并希望先选or,需要结合括号来使用4、聚合 为了快速得到统计数,提供了5个聚合函数 a、count(*) 表示计算总行数,括号中可以写 * 列名...b、max() 表示求此列最大 c、min() 表示求此列最小 d、sum() 表示求此列和 e、avg() 表示求此列平均值5、分组...分组后,只能查询出相同数据,对于有差异数据无法显示在结果集中 可以对分组后数据进行统计,做聚合运算 select 1, 2, 聚合... from 表名 group by 1

1.5K20

SQL中Null处理

在日常开发中,遇到需要处理 Null 场景还是蛮常见。比如,查询某个字段包含 Null 记录、在展示时候将 Null 转为其它聚合包含 Null 等。...今天就和大家聊聊在 MySQL 中处理 Null 需要注意点,本文包含以下内容: 查找 Null Null 转为实际 在排序中对 Null 处理 计算Null 数量 聚合...3 处理排序中 Null 如果是使用默认升序对包含有 Null 做排序,有 Null 记录排在前面,而使用了降序排序,包含了 Null 记录才会排在后面。...count(*) ---------- 14 5 聚合 Null 聚合函数 sum()、avg()、min() 等忽略 Null ,在使用 avg() 要警惕 Null ...通常做法是先将 Null 转为 0,再做聚合操作

2.8K30

day26.MySQL【Python教程】

,之间使用逗号分隔 消除重复行 在select后面前使用distinct可以消除重复行 ?...优先级 小括号,not,比较运算符,逻辑运算符 and比or先运算,如果同时出现并希望先算or,需要结合()使用 ---- 2.2聚合 为了快速得到统计数据,提供了5个聚合函数 count(*)表示计算总行数...外键级联操作 在删除students表数据,如果这个id在scores中已经存在,则会抛异常 推荐使用逻辑删除,还可以解决这个问题 可以创建表指定级联操作,也可以在创建表后再修改外键级联操作...级联操作类型包括: restrict(限制):默认,抛异常 cascade(级联):如果主表记录删掉,则从表中相关联记录都将被删除 set null:将外键设置为空 no action:什么都不做...匹配行会出现在结果中,外加表A中独有的数据,未对应数据使用null填充 表A right join 表B:表A与表B匹配行会出现在结果中,外加表B中独有的数据,未对应数据使用null填充 在查询条件中推荐使用

2.2K60

MySQL基础课堂笔记「建议收藏」

计算 * 一般可以使用四则运算计算一些。...聚合函数:将一数据作为一个整体,进行纵向计算。 1. count:计算个数 1....一般选择非空:主键 2. count(*) 2. max:计算最大 3. min:计算最小 4. sum:计算和 5. avg:计算平均值 * 注意:聚合函数计算,排除null...第三范式(3NF):在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖) 数据库备份和还原 1....事务四大特征: 1. 原子性:是不可分割最小操作单位,要么同时成功,要么同时失败。 2. 持久性:当事务提交回滚后,数据库持久化保存数据。 3. 隔离性:多个事务之间。相互独立。

78731

Mysql基础知识合集(精美)

---- not null 不能为空 , 在操作数据库如果输入该字段数据为 NULL ,就会报错 default 设置默认 primary key 主键不能为空...,通常情况下都是配合着分组进行数据统计和计算 Group BY 分组 group by 语句根据一个多个对结果集进行分组 一般情况下,是用与数据统计计算,配合聚合函数使用...-- count(*) 是按照 users 表中所有的进行数据统计,只要其中一上有数据,就可以计算 -- count(id) 是按照指定 id 字段进行统计,也可以使用别的字段进行统计...-----+----------+ | 男 | 4 | | 女 | 5 | +------+----------+Having 子句 having 在分组聚合计算后...g roup by分组,一般除了聚合函数,其它在 select后面出现字段 都需要 出现在grouop by 后 面 -- 要统计班级人数 select classid

81020

呕心沥血写了三天3两夜24k字MySQL详细教程

之前我们做查询都是横向查询,它们都是根据条件一行一行进行判断,而使用聚合函数查询是纵向查询,它是对一进行计算,然后返回一个结果。...另外聚合函数忽略空 五个聚合函数: count: 统计指定列记录数,记录为NULL不统计 sum: 计算指定数值和,如果不是数值类型,那么计算结果为0 max: 计算指定最大 min:...计算指定最小 avg: 计算指定平均值,如果不是数值类型,那么计算结果为0 聚合函数使用:写在 SQL语句SELECT后 字段名地方 SELECT 字段名......分组目的就是为了统计,一般分组聚合函数一起使用。分组后聚合函数作用?不是操作所有数据,而是操作一组数据。...在符合第一范式(1NF)表中每个只能是表一个属性一个属性一部分。简而言之,第一范式每一不可再拆分,称为原子性。

67040

MySQL 之 JSON 支持(一)—— JSON 数据类型

(当服务器在内存中内部操作 JSON ,JSON 可能大于 max_allowed_packet ;此限制适用于服务器对 JSON 存储。)...当前面列表中最后两个条件中一个(两个)不满足,但其它条件满足,可能会发生这种情况。另可参阅 binlog_row_value_options 说明。...路径由路径范围和一个多个路径分支组成。对于 MySQL JSON 函数中使用路径,作用域始终是要搜索或以其它方式操作文档,由前导 $ 字符表示。路径分支由句点字符(.)分隔。...参见“第10.3.11节 生成索引优化使用”。 8. JSON 聚合 其它数据类型一样,对于 JSON 聚合,SQL NULL 被忽略。...非 NULL 将转换为数字类型并进行聚合,但 MIN()、MAX() 和 GROUP_CONCAT() 除外。

44230

9.MySQL数据查询SQL

-- 问题出在 sql 计算顺序上,sql优先处理and条件,所以上面的sql语句就变成了 -- 查询变成了为年龄22不管性别,或者年龄为 25女生 -- 如何改造sql符合我们查询条件呢?...-- count(*) 是按照 users表中所有的进行数据统计,只要其中一上有数据,就可以计算 -- count(id) 是按照指定 id 字段进行统计,也可以使用别的字段进行统计, -- 但是注意...---+------+ 9 rows in set (0.00 sec) -- 如果按照sex这一进行统计,结果就是8个而不是9个,因为sex这一中有NULL存在 mysql> select count...Group BY 分组 group by 语句根据一个多个对结果集进行分组 一般情况下,是用与数据统计计算,配合聚合函数使用 -- 统计 users 表中 男女生人数 -- 很明显按照上面的需要...group by分组,一般除了聚合函数,其它在select后面出现字段都需要出现在grouop by 后面 Having 子句 having在分组聚合计算后,对结果再一次进行过滤,类似于where

99230

3万字史诗级 Hive 性能调优(建议收藏)

任务需要处理大量相同键数据,这种情况有以下4种表现形式: 数据含有大量无意义数据,例如空NULL)、空字符串等 含有倾斜数据在进行聚合计算无法聚合中间结果,大量数据都需要 经过Shuffle阶段处理...2、业务无关数据引发数据倾斜 实际业务中有些大量NULL或者一些无意义数据参与到计算作业 中,这些数据可能来自业务未上报因数据规范将某类数据进行归一化变成空空字符串等形式...这是很笨拙方法,如果分组聚合远不止3个,那么需要拆解 SQL语句更多。...该参数表示针对grouping sets/rollups/cubes这类多维聚合 操作,如果最后拆解键组合(上面例子组合是4)大于该启用新任务去处理大于该之外组合。...如果在处理数据,某个分组聚合 有较大倾斜,可以适当调小该

2.2K10

Mysql使用指南

排序方式: ASC:升序,默认。 DESC:降序。 注意:如果有多个排序条件,则当前边条件一样,才会判断第二条件。 聚合函数:将一数据作为一个整体,进行纵向计算。...count:计算个数 一般选择非空:主键 count( ) max:计算最大 min:计算最小 sum:计算和 avg:计算平均值 注意:聚合函数计算,排除null。...解决方案: 选择不包含非空进行计算 IFNULL函数 分组查询 语法:group by 分组字段; 分组之后查询字段:分组字段、聚合函数 where 和 having 区别?...主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign key 非空约束:not null,某一不能为null 1....持久性:当事务提交回滚后,数据库持久化保存数据。 隔离性:多个事务之间。相互独立。 一致性:事务操作前后,数据总量不变 事务隔离级别(了解) 概念:多个事务之间隔离,相互独立

1K20
领券