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

Mysql学习笔记,持续记录

常见于主键或唯一索引扫描 ref 非唯一性索引扫描,返回匹配某个单独所有行,本质上也是一种索引访问,它返回所有匹配某个单独行,然而,它可能会找到多个符合条件行,所以他应该属于查找扫描混合体...使用null任何数值去做比较判断,得到都是false;只能使用is nullis not null进行操作; 3. datetime使用 mysql进行日期比较时,日期格式必须是标准YYYY-MM-DD...,小于10日期需要加0; 在sql语句中进行时间比较时候,时间需要和字符串一样使用单、双引号包括。...外键创建失败几种原因 外键字段与关联字段类型匹配(包括编码格式匹配) 外键名字是一个已经存在键值,要保证名字唯一 mysql引擎引起外键创建不能保存或者不能发挥作用情况,mysql...设置此时,用默认存储引擎替代,并抛出一个异常 所以需要修改一下这个模式,然后重新导入: [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

1.1K50

Mysql 必知必会(一)

这两个必须用AND关键字 分隔。BETWEEN匹配范围中所有的,包括指定开始结束。...soundex('Y Lie'); 使用Soundex()函数进行搜索,它匹配所有发音类似于 Y.Lie联系名 日期时间处理函数 常用日期时间处理函数: 函数 说明 AddDate() 增加一个日期...虽然这样做并非不合法,但使用唯一名 字会使你SQL更易于理解使用。...GROUP BY子句指示MySQL分组数据,然后对每个组而不是 整个结果集进行聚集。 在具体使用GROUP BY子句前,需要知道一些重要规定。 GROUP BY子句可以包含任意数目的列。...这可能会改变计 算,从而影响HAVING子句中基于这些过滤掉分组分组排序 GROUP BYORDER BY经之间差别: ORDER BY GROUP BY 排序产生输出 分组行。

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

MySQL数据库选择题

11.关于DATETIME与TIMESTAMP两种数据类型描述,错误是(B) A、两者范围不一样 B、两者范围一样 C、两者占用空间不一样 D、TIMESTAMP可以自动记录当前日期时间...SQL语句是(A) A、SELECT语句 B、INSERT语句 C、UPDATE语句 D、DELETE语句 31.在select语句中,可以使用(B)子句,将结果集中数据行根据选择列进行逻辑分组...(A) A、保证各行在该索引上都不得重复 B、保证各行在该索引上不为NULL C、保证参加唯一索引各列,不得再参加其他索引 D、保证唯一索引不能被删除 66.以下哪种操作能够实现实体完整性...(A) A、保证各行在该索引上都不得重复 B、保证各行在该索引上不为NULL C、保证参加唯一索引各列,不得再参加其他索引 D、保证唯一索引不能被删除 133.以下哪种操作能够实现实体完整性...( A ) A、保证各行在该索引上都不得重复 B、保证各行在该索引上不为NULL C、保证参加唯一索引各列,不得再参加其他索引 D、保证唯一索引不能被删除 21、在视图上不能完成操作是

2.6K20

想学数据分析但不会Python,过来看看SQL吧(下)~

在使用GROUP BY时需要注意几点: GROUP BY子句可以包含任意数量列,因而可以对分组进行多重嵌套,如按照班级性别进行分组的话,结果中班级A包含男生组女生组,班级B也包含男生组女生组;...; 如上,col_1col_2属于table_1表中,col_3属于table_2表中,而这两个表使用相同id列进行匹配。...SQL聚合 有时候我们只是需要获取数据汇总信息,比如说行数啊、平均值啊这种,并不需要吧所有数据都检索出来,为此,SQL提供了专门函数,这也是SQL最强大功能之一。...(其实这里可以直接无视,筛选出来后在python中再进行处理) SQL中提供了一个替换NULL函数COALESCE。...BY 分组数据 仅在按组计算时使用 HAVING 过滤分组 否 ORDER BY 对输出进行排序 否 LIMIT 限制输出行数 否 附:数据分析师SQL思维导图 ?

3K30

MIMIC数据提取教程 - 官方提供时间函数(一)

# # # 在写sql代码时,最好先执行“set search_path to mimiciv" 随后所有操作均不需要指明表格位置;否则,任何操作都应该在表格名前面加前缀mimiciv# query1...我们简化一下SQL, 只查数据,分组事情交给python关注公众号【科研收录】, 回复"分组入院人数sql", 获取SQL代码回复"直方图", 获取python代码1.2.1 WIDTH_BUCKET...此表达式计算结果必须为数值或日期时间,或者可以隐式转换为数值或日期时间。如果表达式计算结果为 null,则表达式返回 null。...-- min_value 最小组数: 解析为存储桶 1 下边界表达式。还必须计算为数值或日期时间,并且不能计算为 null。...使用 WIDTH_BUCKET 时请注意最小最大边界。每个存储桶包含等于或大于该存储桶,因此 0-20、20-40 等年龄范围实际上是 0-19.99 20-39.999。

34500

【MySQL】说透锁机制(二)行锁 加锁规则 之 范围查询(你知道会锁表吗?)

,因为可能还有其它匹配记录,所以 直到扫描到 [匹配索引记录] 才能停止,然后上锁也是合理; 对于 >>=,因为会包括 索引最大 后面的间隙,所以 对上界面伪supremum 上锁也是应该...对于 <= 在 聚集索引 上来说,我们得出结果是(实际 < 一样): 聚集索引上, 所有匹配 索引记录 上Next-key Lock; 向右扫描聚集索引, 直到找到 [匹配索引记录] 上Next-key...对于 > >=,会对supremum (上界限伪) 上Next-key Lock:锁是 聚集索引 最大 后面的 间隙; ---- 唯一索引 小于 我们在Session2 执行SQL如下(按abc_uk...上Record Lock; 对于 < <=,会在该索引上向右扫描, 直到找到 [匹配索引记录] 上Next-key Lock,对应聚集索引 上Record Lock; 对于 > >=,会对...上Record Lock; 对于 < <=,会在该索引上向右扫描, 直到找到 [匹配索引记录] 上Next-key Lock,对应聚集索引 上Record Lock; 对于 > >=,会对

1.7K20

MySQL 系列教程之(七)DQL:从 select 开始丨【绽放吧!数据库】

这时,SQL语句变成了获取18期或19期学员并且要求是女生 IN与NOT IN操作符用来指定条件范围,范围中每个条件都可以进行匹配。...对于简单WHERE子句,使用NOT确实没有什么优势。 但在更复杂子句中,NOT是非常有用。 例如,在与IN操作符联合使用时,NOT使找出与条件列表匹配行非常简单。...但此新计算列名字是什么呢?实际上它没有名字,它只是一个。 > >如果仅在SQL查询工具中查看一下结果,这样没有什么不好。...这使我们能够对行进行计数,计算与平均数,获得最大和最小而不用检索所有数据 目前为止所有计算都是在表所有数据或匹配特定WHERE子句数据上进行。...是 FROM 从中检索数据表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP BY 分组说明 仅在按组计算聚集时使用 HAVING

3.5K43

数据仓库开发 SQL 使用技巧总结

,表示对表全部请求都是索引部分Using temporary 表示需要临时表来存储结果集,常见于排序分组查询Using join buffer 获取链接条件时候没使用索引,并且需要连接缓冲区存储中间结果...') from_unixtime(unix_timestamp(), '%Y-%m-%d') 截取部分日期,其他部分默认为 01 select trunc('2009-02-12', 'year') 字符串...基本语法 -- partition by 用于给结果集分组,另外如果指定那么会默认把整个结果集作为分组 -- partition by 需要分组列名 -- order by 需要排序列名 -- rows...缺点是不存在天数数据则不展示,增量时间连续,预期可能希望是 0) 实现方式唯一,这里仅展示一种,可以推敲更简便方案省去一些查询 -- 思路如下 -- 1. ...数仓建设时候除了一些需要每日/周/月展示需求可以用一些定时离线任务也搞以外,还会有一些临时查询需求,快速出数据,其中可能包含一些没有拉取到数仓得数据信息。

3.1K30

pandas时间序列常用方法简介

导读 pandas是Python数据分析最好用第三方库,没有之一。——笛卡儿没说过这句话!...pd.Timestamp(),时间戳对象,从其首字母大写命名方式可以看出这是pandas中一个类,实际上相当于Python标准库中datetime定位,在创建时间对象时可接受日期字符串、时间戳数值或分别指定年月日时分秒等参数三类...当然,虽然同样是执行模糊匹配,但对于时间序列字符串序列匹配策略还是略有不同:时间序列执行模糊匹配是"截断式",即只要当前匹配,则进行筛选保留;而字符串序列执行模糊匹配是"比较式",也就是说在执行范围查询时实际上是将各索引逐一与查询范围进行比较字符串大小...,无论是上采样还是下采样,其采样结果范围是输入记录中最小最大覆盖范围,所以当输入序列中为两段连续时间序列记录时,可能会出现中间大量不需要结果(笔者亲历天坑),同时在上图中也可发现从4小时上采样为...05 滑动窗口 理解pandas中时间序列滑动窗口最好方式是类比SQL窗口函数。实际上,其与分组聚合函数联系SQL窗口函数与分组聚合联系是一致

5.7K10

python数据科学系列:pandas入门详细教程

考虑seriesdataframe兼具numpy数组字典特性,那么就不难理解二者以下属性: ndim/shape/dtypes/size/T,分别表示了数据维数、形状、数据类型元素个数以及结果...由于该方法默认是按行进行检测,如果存在某个需要需要按列删除,则可以先再执行该方法 异常值,判断异常值标准依赖具体分析数据,所以这里仅给出两种处理异常值可选方法 删除,drop,接受参数在特定轴线执行删除一条或多条记录...广播机制,即当维度或形状匹配时,会按一定条件广播后计算。由于pandas是带标签数组,所以在广播过程中会自动按标签匹配进行广播,而非类似numpy那种纯粹按顺序进行广播。...一般而言,分组目的是为了后续聚合统计,所有groupby函数一般不单独使用,而需要级联其他聚合函数共同完成特定需求,例如分组求和、分组求均值等。 ?...由于此时各班每门课成绩信息唯一,所以直接用pivot进行重整会报错,此时即需要对各班各门课程成绩进行聚合后重整,比如取平均分。 ? 07 数据可视化 ?

13.8K20

MySQL数据库案例实战教程:数据类型、语法与高级查询详解

查询结果不确定性:使用*通配符可能会返回多个不必要列,包括一些需要敏感信息或者关联表中数据,增加了数据传输开销,并且也增加了处理结果集复杂度。 3....维护性可读性:明确指定需要查询列名可以使查询语句更易于维护理解,尤其是在团队协作或者未来需要对查询进行修改优化情况下。...不过需要注意是,过度复杂子查询可能会影响查询性能可读性,因此在使用子查询时需要权衡其优劣并谨慎设计。...全连接(Full Outer Join):全连接会返回左表右表中所有行,并且对于没有匹配行会用 NULL 填充。...ifnull 函数用于将可能 NULL 替换为指定默认(0 或 '无日期')。 总的来说,这条查询用于获取网站访问次数以及最近访问日期(如果有的话),并且对可能 NULL 进行了处理。

13110

SQL锁总结

意向锁之间余互斥。...MODE 排他锁 需要手动在SELECT:之后加LOCK IN SHARE MODE SELECT…FOR UPDATE 排他锁 需要手动在SELECT:之后加FOR UPDATE 默认情况下,InnoDB...1.针对唯一索引进行检索时,对已存在记录进行等值匹配时,将会自动优化为行锁。...1.索引上等值查询(唯一索引),给不存在记录加锁时,优化为间隙锁。 2.索引上等值查询(普通索引),向右遍历时最后一个不满足查询需求时,neXt-key lock退化为间隙锁。...3.索引上范围查询(唯一)-会访问到不满足条件第一个为止。 注意:间隙锁唯一目的是防止其他事务插入间隙。间隙锁可以共存,一个事务采用间隙锁不会阻止另一个事务在同一间隙上采用间隙锁。

17230

2-SQL语言中函数

分组筛选:分组筛选是利用已经重新分配组内信息进行筛选,这些信息直接存储于数据库中。...分组筛选:分组筛选是利用已经重新分配组内信息进行筛选, 这些信息直接存储于数据库中。...最终得到结果是表一表二完全匹配 例如想要通过boys表beauty表匹配对象,假如写作下式 SELECT NAME,boyName FROM boys,beauty; 最终得到4*12=48条数据...`department_id`; # 外连接 /* 用于查询一个表中有,另一个表中没有的记录 特点: 外连接查询结果为主表中所有记录 如果表中有和它匹配,则显示匹配 如果没有匹配...,一夜显示不全,需要分页提交sql请求 LIMIT 语句放在查询语句最后 # 分页查询 /* 应用场景: 当要显示数据,一夜显示不全,需要分页提交sql请求 语法: SELECT 查询列表 FROM

2.8K10

浅谈pandas,pyspark 大数据ETL实践经验

缺失处理 pandas pandas使用浮点NaN(Not a Number)表示浮点数非浮点数组中缺失,同时python内置None也会被当作是缺失。...数据质量核查与基本数据统计 对于多来源场景下数据,需要敏锐发现数据各类特征,为后续机器学习等业务提供充分理解,以上这些是离不开数据统计质量核查工作,也就是业界常说让数据自己说话。...4.1 统一单位 多来源数据 ,突出存在一个问题是单位统一,比如度量衡,国际标准是米,然而很多北美国际习惯使用英尺等单位,这就需要我们使用自定义函数,进行单位统一换算。...比如,有时候我们使用数据进行用户年龄计算,有的给出是出生日期,有的给出年龄计算单位是周、天,我们为了模型计算方便需要统一进行数据单位统一,以下给出一个统一根据出生日期计算年龄函数样例。...都提供了类似sqlgroupby 以及distinct 等操作api,使用起来也大同小异,下面是对一些样本数据按照姓名,性别进行聚合操作代码实例 pyspark sdf.groupBy("

5.4K30

Hive基本知识(三)Hive中函数大全

函数,非常适合于数据分析,因此也叫做OLAP函数,其最 大特点是:输入是从SELECT语句结果集中一行或多行“窗口”中获取,通过OVER子句,窗口函 数与其他SQL函数有所区别。...日期UNIX时间戳函数: unix_timestamp 指定格式日期UNIX时间戳函数: unix_timestamp 抽取日期函数: to_date 日期转年函数: year 日期月函数: month...日期转天函数: day 日期转小时函数: hour 日期分钟函数: minute 日期秒函数: second 日期周函数: weekofyear 日期比较函数: datediff 日期增加函数:...rank: 在每个分组中,为每行分配一个从1开始序列号,考虑重复,挤占后续位置; dense_rank: 在每个分组中,为每行分配一个从1开始序列号,考虑重复,挤占后续位置; 聚合函数 max(...view侧视图 Lateral View是一种特殊语法,主要用于搭配UDTF类型功能函数一起使用,用于解决UDTF函数 一些查询限制问题。

1.6K20

Hive基本知识(三)Hive中函数大全

函数,非常适合于数据分析,因此也叫做OLAP函数,其最 大特点是:输入是从SELECT语句结果集中一行或多行“窗口”中获取,通过OVER子句,窗口函 数与其他SQL函数有所区别。...日期UNIX时间戳函数: unix_timestamp 指定格式日期UNIX时间戳函数: unix_timestamp 抽取日期函数: to_date 日期转年函数: year 日期月函数: month...日期转天函数: day 日期转小时函数: hour 日期分钟函数: minute 日期秒函数: second 日期周函数: weekofyear 日期比较函数: datediff 日期增加函数:...rank: 在每个分组中,为每行分配一个从1开始序列号,考虑重复,挤占后续位置; dense_rank: 在每个分组中,为每行分配一个从1开始序列号,考虑重复,挤占后续位置; 聚合函数 max(...view侧视图 Lateral View是一种特殊语法,主要用于搭配UDTF类型功能函数一起使用,用于解决UDTF函数 一些查询限制问题。

1.3K20

数据库相关知识总结

表示零个或一个匹配,+表示一个或多个匹配 LikeRegexpde差别 LIKE匹配整个列。如果被匹配文本在列中出现,LIKE将不会找到它,相应行也不被返回(除非使用通配符)。...如果想要regexp表现出like一样特性,可使用定位符 ^ $。 MySQL中正则表达式匹配(自版本3.23.4后)区分大小写(即,大写小写都匹配)。...,在使用第二种方式时,表名后面的列可以任意排列,只需values与其一一对应即可,同时,也可以省略一些,默认为null或指定默认 数据插入可能是比较耗时操作,特别是当需要对其建立很多索引时候...下面是关于事务处理需要知道几个术语: 事务(transaction)指一组SQL语句; 回退(rollback)指撤销指定SQL语句过程; 提交(commit)指将未存储SQL语句结果写入数据库表...在指定用户名时,SET PASSWORD更新当前登录用户口令。 数据库备份 使用命令行实用程序mysqldump储所有数据库内容到某个外部文件。

3.3K10

【MySQL】一文带你搞懂MySQL中各种锁

引上等值查询 ( 非唯一普通索引 ) ,向右遍历时最后一个不满足查询需求时, next-key lock 退化为间隙锁。...索引上范围查询 ( 唯一索引 )-- 会访问到不满足条件第一个为止。 注意:间隙锁唯一目的是防止其他事务插入间隙。...索引上等值查询 ( 非唯一普通索引 ) ,向右遍历时最后一个不满足查询需求时, next-key lock 退化为间隙锁。...并不是,因为是非唯一 引,这个结构中可能有多个18 存在,所以,在加锁时会继续往后找,找到一个不满足条件 (当前案例中也就是29 )。...此时会对 18 加临键锁,并对 29 之前间隙加锁。 C. 索引上范围查询 ( 唯一索引 )-- 会访问到不满足条件第一个为止。

94670

技术阅读-《MySQL 必知必会》

第四章 检索数据 查询 SELECT 使用 SELECT 查数据时要指定查什么(字段),从哪查(库.表) 注意点: SQL 区分大小写,但是 SQL 关键字尽量大写,这样好阅读区分 SQL 忽略空格...使用 通配符* 可以表示返回所有列,但是为了检索效率考虑,尽量不要使用 * 去重 DISTINCT 需要检索不同行数据时需要使用到 DISTINCT 关键字,使得执行 SQL 查询时只返回不同。...= < <= > >= BETWEEN 用于范围查询,数字或者日期检查 NULL 表示无,当要查询是 NULL 列时,需要使用 IS NULL 语句判断,而并不是 = NULL SELECT...'; 若要匹配反斜杠,则需要写成 \\\ 匹配多实例 需要对正则匹配数目控制时,应该使用重复元字符。 常见有 6 种 * 0或多个 + 一个或多个 ?...使用视图几个场景 重用 SQL 维护数据安全 更改数据格式展示方式 对应复杂场景业务处理 使用规则 命名唯一,不能跟已有表名冲突 隐藏复杂 SQL,查询语句简化 创建视图需要授权 视图不能索引

4.6K20

【说站】python中pandas有哪些功能特色

python中pandas有哪些功能特色 说明 1、按索引匹配广播机制,这里广播机制与numpy广播机制还有很大不同。...3、类比SQLjoingroupby功能,pandas可以很容易实现SQL这两个核心功能,实际上,SQL绝大部分DQLDML操作在pandas中都可以实现。...常用数据分析与统计功能,包括基本统计量、分组统计分析等。 集成matplotlib常用可视化接口,无论是series还是dataframe,均支持面向对象绘图接口。...=date)   # 属性 print(data.shape) print(data.index) print(data.columns) print(data.values) data.T # 行列...更多Python学习指路:python基础教程 本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

69220
领券