粉丝397获赞2.0万

你会用 circle 中的这个 row number 和 over 函数生成连续的这个序号吗?哈喽,大家好,我是陈学文论讲。那今天我们就来讲一讲怎么样在 circle 当中用这两个函数 row number 和 over 生成连续的一个序号列在我们的日常的工作和学习当中呢?当我们使用了这个呃标识列 的时候呢?嗯,当你中间删除了一些数据,那他这个就不连续了,就比如说你看我们这个第四条,他就没有了,还有后面的你看十四条,还有这中间也删除了很多条, 那他这样看起来我们的数据就不连续了,不利于我们去做这个 circle 的这个分页。那这个时候呢,我们就需要去把这个数据进行一个正常的这个排序,那要怎么做呢?我们今天就用就用这两个函数来解决一下这个问题。 那么首先呢,我们先来看一下这段代码它是什么样的?我们先我们先写出来,然后去分析它这段代码。 select 啊,我们的这个 steve id steel name, 然后呢?啊, you your number 这里面呢?我们用什么呢? order by, 用我们这个 stu id 来进行排序,然后呢这样写好了之后, as rose wrong 的这个 student info。 那这样呢?我的一句最简单的代码就写好了,但是这两这句代码里面呢,有两个函数就比较就比较陌生,这个 row number 和这个 over 函数这里面,诶,怎么 怎么欠套的奇奇怪怪的,跟我们平常用的这个呃语法不太接近,看起来有点怪,是吧?因为没用过。然后我们来执行一下,看看他出现的这样的一个结果, 你看它多了一个 rose, 然后我们会发现这个 rose 呀,它是什么呢?它是连续的, 它是连续的,它们中间没有没有说有有断掉的数据,它是从一开始的一个连续值。那这个是怎么来的呢?这个就是通过我们的这个呃, row number 和我们的这个 over 函数来实现的。我们来先来看一下这个 row number 它是干嘛的? row number 函数呢?它是为每一组的数据行生成,按照 顺序生成一个唯一的序号,生成一个唯一的序号,那然后呢?他需要结合什么呢?结合我们的这个,结合我们的这个叫什么来着?开窗函数,我们把它叫做 开窗函数 over, 这个 over 看起来就很简单了是不?但是也没有用过,那这个 over 它是什么呢?它是一个开窗函数,它的用法是干什么呢? 它的作用简单的来讲就是做聚合计算,做聚聚合或者是统计,把那些可以在聚合里面实现的那些函数都给它放到这个 over。 揉在 在一块了,都在一块了。那开车函数呢?他不需要什么啊?用 gopro 班呀,进行分组呀,返回什么什么的呢?返回什么的那些,他主要就是把那些复杂的那些聚合的计算都给他放到这里面来了,我们直接用就可以了,用就可以了。 那有了它之后呢,我们就可以干什么呢?我们就可以去拿到我们的这个值。他的语法是什么呢?语法 over, 它里面其实有写的,换一行写吧,它里面呢有两个参数,其实有两个参数, 第一个参数是,嗯,叫嗯, partitial, 叫 partitial, 呃是叫 卡退下,然后呢? by, 然后呢就是念名 order by, 念名后面可以跟上他的排序方式,排序方式第一个叫什么呢?第一个 partition, partition, 它是它是分组,按照什么样分组进行这个计算,那这个呢,正常情况下我们用的时候是很少的,所以我们直接用了这个 order by 列米,然后来得到它的值,那正常情况下呢,我们是没有给它进行这个 进这个排序的,那我们这里可以给他一个降序的排序,我们来看他的到得到的值是什么,你看他就降序了,哎,第就是数那个 id 最大的排到了第一个, id 最大最大的排到了这个第一个,然后呢 我们把它去掉之后呢,那他就是正常的排序了,正常的排序了,那他的作用是什么呢?我们也来演示一下他的作用,他的作用是分组,他的作用是分组。 写到这它的作用是进行分组,分组啊,排分组编号,分组编号。什么是分组编号呢?我们来看一下它的这个例子,你就能知道了, 所以说我们要把它把这个啊 partition, 老师记不住这个单词, partition, 然后 by, 那我们这里面有一个什么呢?有一个这个性别的这个,呃,这个 has 这个列,我们把它用来做一下分组,我们来看一下,你看它得到的是什么呢?按照 性别这样看起来不不是很明显哈,那我们把这个性别给他加上,这样我们把它加上就看起来很明显了。 看蓝,先按照蓝,先按照嗯 c two six 为蓝的这一组 进行排序,进行那个编号,一二三四五六七,那再按照女生的这一组再进行一二三四五六七进,这样去排序, 这个就是我们的这个 partition 的这个这个参数的一个作用,这个参数的一个作用,当然我们的这个 row number, 它跟这个结合使用呢, 它的主要作用就是为了去控制。再写写一下,它的主要作用是什么呢? 主要作用是为了控制 over 函数,控制这个 over 函数,而且不可省略, 而且不可省略。控制它不可省略,当然它只当然它这个,呃, row number 呢?肯定不止一种,它还有别的一个用法, 那这个地方呢,我们就暂时就只讲这个 rome number 的一个用法,当然它还有别的一个排名函数啊,比如说,嗯,叫那个什么,还有一个 n n t n tile 的一个函数,后面我们有时间再安排一下,那今天内容我们就到这里了,就是主要讲这个的用法,它其实就是 看着很复杂,但是你可以把它当做就是一个啊排序编号的一个函数,它要它需要组合使用 row number 和 over 组合使用,用它,用它来进行编号,然后去 控制这个函数。这个函数里面呢有两个参数,第一个是 partition, partition 是进行分组,分组就是分完组之后,然后去再给他进行一个呃,一个这个编号的这样的一个作用,今天咱们就到这里。

hello, 大家好,今天我们接着上一次的内容往后继续讲,那么上一次的内容当中呢?我们讲到了嗨运止住的一个基本用法,以及呢用它结合我们这个 group by 跟剧组的这个调节这些过滤,这是我们上一次讲的内容, 那么今天的这期内容我们要讲什么呢?我们要讲一个特殊的字烙,这个烙它是什么呢?数据库中的烙代表不确定, 不确定的值,也就是不知道是什么,不知道是什么,他代表不确定,不知道, 那么他和空值的区别是什么?空值,那我首先那我代表我们敢讲了是吧?那我代表不确定未知的, 那么空值,也就是我们的单一对单一号代表空,代表空,那么他还他还跟我们的这个零,比如说我们的这个数值现场数据,那么他有的时候会为零,那么这个是零,他代表的是 代表是一个数字,代表的一个是一个数字。然后我们要怎么去查询这个蜡和贝?蜡就是我们马上要讲的案例里面去讲,那么我们之前在在讲那个约束的时候,我们讲到了什么呢?唯空性约束, 空气应该学的是无唠和 lot love, 就是你这个你这个字段可为空, 是否可为空?或者是说不为空,那么可为空的意思就是说你这个这个字段,你这个字段的值 我不去填写他,那么他默认就是一个闹,那么拉着闹不为空的意思就是我不允许你给我的这个阶段的值给一个闹值,那么哪怕你给一个空都可以,但是呢不能给他一个闹, 这是我们之前讲到的一个围空性约束,我们建一个案例来 test 一下 creature table test。 然后呢我给他用三个字段,第一个 tid 硬的型的,那么硬的型的我们给他拉着,然后这个是有一个维控性, 这个字段 t id 是不可以为空的,不可以为空的。那么第二个字段, 然后呢?他是可以为空的, 可以为控,他是可以为控的,他是可以为控。那么 他可以再做了一个逗号,他可以为空,那么这个 low 他是可以省略的, low 是可以省略的,当你不写 low 或者是只写一个 low 的时候,他代表这个字段是可以为空的。我们再加一 这个字段, ticonticcount interesting 老,他是可以,他是允许为空的。然后呢? tv mark the time, 然后呢拿出来,那么这个现在呢?有这四个阶段,那我们分别来看一下, create 一下,直行 insert into, 我们往里面添加数据了,是吧? into test vanis。 第一个字段他是不允许为空的,他是不允许为空的。那么我们给他一个一。第二个字段他是可以为空的。我们给他一个啊,咱三,然后第三个字段, 第三个字段给他一个十。最后一个字段给他一个空。那么这就是我们的这个第一个正常的一个字,正常的一个字,我给你们看一下 rome past 呀,这个值一占三十。最后一个没有值,是因为我们给他,给了他一个空值,给了他一个空值,就是没有嘛,给他一个 空纸,那么第二个我们继续来往后第二个我们呢,第一个给他一个,因为是辣,辣特辣的,是用给他一个辣哦,然后呢也是 五十备注, ok, 我们来看一下这条会出现什么样的结果, 你看他就不能将蜡烛插入裂 tid, 因为这个表开始这个表当中这个 tid 呢,他是不允许为空的,不允, 不允许有闹字的,所以说失败,这个是添加失败,因为 tid 不允许为闹,所以添加失。 ok, 然后呢,我们换一个,下,下一位,我们把它放在下面,然后 二,然后第二个 t n, 他是可以为空的,他是可以为空的。然后呢我们给他一个烙纸,他是可以为空的。给他一个烙纸,那么此时 他是添加成功的。我们来看一下,你看他变成了烙,嗯嗯,这个地方大家可能会,嗯,如果那个 仔细一点,大家可以发现这个烙的背景,他跟这个这其他的背景是不一样,他有点偏黄,因为他是一个烙制是一个烙,那这样他是成功的。那么我们看一下,下面一个呢?下面一个,哦,我的这 最后一个,这个,嗯,贴炕的他也是可以为空的,贴炕的他也是可以为空的,那么我们把这个也是给他插入一个烙纸,对吧?也是可以给他插入一个烙纸。 ok, 这条也成功呀。最后一条,那么我们把最后一个同样 把什么呢?把这个备注插入蜡烛纸,让大家可以看到,第一个是硬的型的,第二个是文本类型,是我们的支付串类型,他们俩之间都给蜡烛纸,都给蜡烛纸。他怎么样?这个这个名字再加一下, 这个名字改成小白,对吧?哇哦,你试一下,你看 这个地方又出错了,因为为什么出错呢?因为这个 t 瑞 mark, 以下添加错误, 不允许,不允许为空,因为这个不允许为空,那么这样呢?我们就知道了,这个烙和我们的这个呃非烙的一个区别,就是我给给你一个空,然后我们现在来看一下, 看到没?唠唠唠,我可以给你,就是我不填写,我可以直接给你一个唠,我可以直接给你一个唠,然后呢?我还可以怎么呢?一十二特,我直接把可以为空的,我就添加几个,知道呢, 我就只添加,我就只添加 t 内和 tcom 和面合体看的这两个,这是选择性添加,大家可以看前面的内容添加的那个那个内脏哈,选择性添加,就是我可以只添加,只添加我想要添加的, 然后呢?嗯,小花,小花,然后呢?三十, 然后呢?我们来看一下,哦哦,我们然后呢?小花。像是 tcom 的啊,不应该是 tcom 的,应该是这个,这个,嗯, mark, 嗯,哈哈哈,让我们来看一下一啊 tid, tid 不允许为空,应该是 tid, 哎,真不错的哈,应该是 tid 和 t 对 mark, 比如说二十,然后呢我们给他用一下,你看一下受影响,那这个时候呢, 你会发现二十和哈哈哈这个中间也是浪子,是因为我没有给他添加,也就是说当我不给他添加的时候,他默认就是浪子, 默认就是老子,这是不确定的。一个一个纸,那么这就是我们的烙和啊,我们的这个非烙的这个一个用法,也就以及他跟我们这个空纸之间的区别。然后我们要怎么去查询呢? 查询闹得非, 之前我们在讲查询的时候呢,我们都是什么呢?我们都是直接呃呃。用符号大于等于小于等于那一个这样去查询,但是我没有讲到这个唠,因为那个唠我们不想,我想单独给他放出来讲,所以这个时候呢? long pasta where 听令 ease ease large love 查询是否为空,不为空。用 is large love 查询为空 is love is love 就是这个阶段是查询这段是否是烙纸,用 is love or is that love 进行查询,进行查询。那么为空呢?空,空呢?单纯的空呢?就是什么呢? 单纯的查询空,当然这个就因为空,他是一个直,只是他是空的,那么这个时候呢,就要用等于我们这个空,值了。嗯,没有知道我们看哪个里面有 啊空,应该是 tv mark 这个阶段, 你看这个就差评出来了,这个就是我们今天讲的内容,我们这个啊,特殊时髦的这个用法今天就到。

哈喽,大家好,欢迎大家来学习收口在 excel 中的应用,这个课程适合零基础学习,通过案例实操为主,提供系统全面详细的一个学习的一个教程。 希望这个教程能帮助大家提高数据处理、数据分析的能力,关键这个课程还是免费的, 如果能帮助到大家,希望大家能帮我点赞一下,支持一下。首先,什么是奢口?奢口是结构化查询语言, 通过设口的指令,他能帮助我们快速的查询所需要的数据哦, 蛇口使我们有能力访问数据库,而且蛇口还能帮我们更新删除数据库。三、蛇口是一种 insi 的标准计算机语言, a s i 是美国的一个标准计算机语言,有很多种,收口是其中一种 蛇口常用的语句,这是蛇口的常用指令,大家在这里先了解一下,以后我们会详细的一个讲解。 那收口在学校中有哪些应用呢?以强大的查询与表格重建功能,比如表格的数 数据很多复杂,那我们想提取一些满足一些条件的数据怎么办?那我们就可以通过奢口的一些命令指令去快速的帮我们查询满足这些条件的数据。 二、扩建透视表功能透视表一般是一个单表的透视, 如果表格很多结构不一样怎么办?那我们就也可以通过收口的这些命令指令去帮助我们构建一张新的投资表,然后做一个数据统计分析。 三、管理系统模块开发,比如我们通过奢口和 vba 去开发我们自己想要的 一个系统。第四,还有一些等等的一些应用,这是收口在学校中的应用的一个学习课程的计划表,这个计划表我们计划了有七个章,七个章节, 所以这个课程是非常详细的,希望大家能一步一步,一刻一刻的进行学习。 第一章, slet 查询语句,最终我们用了十节课计划,用十节课来进行一个详细的一个讲解,一个说明。 第二张,奢口具有函数,这一张我们用四节课来学习。第三张,奢口常用的函数,这里面包含了文本类 函数,数学类函数,日期类函数,还有条件类函数,这里面有四个四四节课。第五章,收口的多表合并, 这一张会帮我们学习解决一个透视表的一个合并,多表的一个合并,然后做一个统计分析。 第五张,收口的多表连接查询,这里面就会学习两张表,三张表的一个连接,还有左连接, 右连接,内连接,这些都会在这一张里面进行一个详细的说明。第六张,赊口的一个子查询啊,比如我们在里面做一个欠套的一个查询,就会在这里面 这张里面进行一个学习。第七张, microsoft curry 工具的使用,这个工具呢,在我们日常的一些案例里面会经常用到,用来查询我们自己需要的数据, 所以这一张我们打算用七呃用八个章节来进行一个学习,一个讲解,我们就把这个工具也放到了这个课程里面, 所以呢,这个课程包含了七个章节,四十多节课, 整体来说呢,是一套比较系统全面的一个教程,一个课程,只要有需要的朋友,每天花一点时间,按照这个计划表, 每天学习一个章节,哪怕每天十分钟,十多分钟的一个学习,那么在一个多月之后,我们就能发现自己 啊,在数据分析,数据统计方面都能得到一个很大的提升一个改变, 我呢这边也会按照这个计划表,每天抽一点时间,一有空我就会多按照这个计划表去进行一个录制视频,做一做一个有有有计划的一个更新, 那么那么有需要的朋友呢,就能按照这个计划去定时按时的去一个进行学习, 投资自己永远不会错误,永远不会过时,有需要的朋友可以关注我,第一时间可以获取视频的一个更新,进行一个持续性的一个学习。 好了,第一张 sled 查询语句,顾名思义 sled 这个语句,它的作用是用来查询的, 他可以用来查询字段啊,查询我们需要的一些数据啊,都是需要通过这个时代,这个这个语句,这个命令。 好,第一节我们先来了解一下在一个校里面如何使用奢口,也就是说我们需要知道哪些地方可以用到奢 口,在哪里可以使用到。我们先打开一个案例, 我们先打开一个,一个一个表,一个小表, 这里面有两个地方可以用到这个收口。第一个方法是用现有连接, 现有连接他在我们的数据里面,我们先打开最上面这个数据,我们看到这里有一个现有连接,点一下,那么这个地方这里面就可以用用到这个收口, 现有连接呢,他有一个快捷键是 at 键,加 d, 加 d, 加 d 三次 d, 这是一个现有连接的一个快捷键,大家可以记一下,在以后呢我们工作或者学习里面呢,会经常可以用到,用到这个快捷键,先 ot 按一下,然后再按滴滴滴三次滴啊,他就会出现这个 现有连接,选择一个数据源,大家看一下数据源,数据源就是选择我们这个表格的一个路径,那么比如我,我的是在这个桌面车口,中文 第一张第一个,这是第一节课的这个数据表,我们打开,然后选择这个表,这里三个表,我们选择这个表点确定, 那么点确定以后导入数据,这里面有四个,四个选项表,透视表,还有透视图,还有紧连接, 那么我们一般是选择表这里放置的一个位置,有现有工作表,还有新工作表,那么如果我们点着新工作表呢,他返回的数据,这张表的数据呢?他会另起一个工作,新的个工作表 确定,大家看一下,那么现在返回的这个数据就是一个跟刚才这个练习操作一模一样的一个表,那么收口在哪里可以使用呢?我们右击 选择这个表格编辑查询,那么这个地方我们就可以输入我们的 车口的一个命令啊,命令类型,我们选择车口,呃,我们这里举个例子,这里选 sley 心 from 中国号,把这个表格的这个名字括起来, 那么这个地方就可以输入我们的这个收口的一个命令点确定,那么他返回的这个表就是我们刚才和这个表是一模一样的一个数据,那么在这个地方表格右击鼠标表格 编辑查询,这里就可以输入这个收口的一个命令,这个地方大家记得选择收口,因为如果你选择表的话,我们如果认命令输错, 举个例子,这里如果是命令输错的话,我们点确定他是不会告诉你怎么错,但是如果我们如果选择了涩口,这里如果命令输错的话,点就确定他会告诉我们,呃,涩口的命令是错,是错误的, 所以我们一般在这个地方命令类型这里要选择奢口,这里,这里选择奢口, 这是第一个地方,通过现有连接去去使用一个奢口, 现有连接,那么有的大有的是朋友呢,他的笑的版本是不一样的,那么他应该也是在数据里面的一个现有连接,大家可以找一下不同的版本,只要找到这个名字,那都是一 一样的。那么第二个方法,使用 michael soft curry 这个工具,这个工具在哪里呢?我们还是在数据里面点击数据,选择这个获取数据 至其他元至 microsoft curry 这里点击确定, 选择这个第三项,这里消 fight 这个查询向导可以选择,也可以不选择确定,然后选择表格的一个路径 啊,选择第一个表,点击确定好出现这里呢,我们把它选择这个对应的工作表,点击 确定添加, 那么我们可以看到所有的字段,这个练习操作里面这个表格,所有的字段都在这里了, 那么这个麦克斯科比这个工具就打开了,那我们可以在这个地方使用 s, q, l, c 口这个命令,比如我们举个例子, slack 星号 from, 用个中括号把表格的名字括起来, 练习操作,输入一个美元的符号中括号,点击确定, 点击确定,那么我们可以看到,呃,练习操作里面这个表格的所有字段数据都查询返回到这个 microsoft curvy 这里面来了。 好了,那么这就是我们的两个方法,就是这两个方法现有连接, 还有 microsoft curry 这两个地方可以使用蛇口的一些命令,大家一定要掌握这两个。

哈喽,大家好,到目前为止呢,我们这个呃十二口查询相关的技术内容就暂时的告一段落, 然后从今天开始呢,哦不,应该是从上一期内容开始,我们要讲那个就是常用的这个函数,那么包括哪些呢?包括我们的这个日期函数,数学函数,还有支付券函数。那么前面呢,我们已经讲到了这个呃日期函数里面常用的一些, 今天呢我们要讲什么呢?今天我们讲我们这个制服串函数,呃,我们的这个在 circle 里面,他给我们提供的很多类似的一些函数,就是怎么样去有效的处理制服串,嗯,这些等等,嗯,我们今天开始来看一下吧。 ok, 我们现在看屏幕,那么在上一期的内容当中呢,我们讲到了常用的这个日期函数,有这个 啊,获取获取系统日期,然后呢?增加日期,然后呢?啊?求日期之间的 啊时间差,那这个时间差呢?有什么年月日十分秒这样的一个单位。然后呢我们讲到了获取时间的一部分啊, da 圈 part, 我把这个写上啊, data diff, data diff, 然后呢? data patch, data diff, 还有呢我们这个啊 data add, 然后呢给车,给车带车,这是我们啊在前面的这个内容当中讲的还有一个什么呢?叫做啊格式化,日期 日期格式化,看味着这是我们这个前面的这个呃日期函数里面讲到的一些内容,那么今天呢我们要讲什么呢?采用了这个呃字不串函数,那个这个字不串的处理呢?是我们这个嗯 实际运用当中用到的非常多,非常常见的啊一些啊函数,那么我们今天要讲哪些呢?首先我们要讲的第一个,第一个这份函数就是我们的这个获取 制服串的制服长度,这个长度指的是什么呢?长度指的就是你这个制服串中有多少个制服, 这个叫长度个数嘛?叫长度嘛?然后他的函数什么呢?那然而这里面呢是参数,那么既然他是制服串的函数,所以说这些以下我们讲到的这些制服串这些函数呢,都是 针对制服串而言的,所以说第一个他的参数呢也是一个,他的参数呢也是一个制服串,然后呢参数为制服串 啊,他是获取啊,这个字母串中有字母串中有多少个字母?那么我们来看一下三拉克特,我们的什么呢? lno, 然后呢我们要获取,哎,你好, 你好 circle, 你好 circo。 那么这个是他的长度,我们来看一下他得到的是什么? 他返回了一个五,那么这个五是怎么来的?我们来看一下一二三四五, 返回五,返回五,这个五呢就是支付圈的长度,就支付圈的这个啊,就支付圈的这个长度,他有多少个支付?那么不区分中英文, 不区分,不区分我们这个中医文,然后呢不区分中中医文,然后不区分大小写,我们把它写在下面, 比如说我们来个第二个啊,第一个我们查什么呢?查你好 shark。 第二个我们查什么呢?你好 circle。 然后呢? s, 他是大写这个 s, 小写他们俩的结果,他们俩结果是一样的,都是五,那么这是他的第一种表现形式。那么 我们来看一下他既然不区分中英文,那么如果是空格呢?空格算不算呢?我们来看一下。 空格他也是算的,空格他也是算的。我们来看首尾空格,这个是在中间开始,你看他是八,那我们再加一个,再 结尾加上他的道是什么?在结尾加上你会发现他发现一个问题,就是什么呢?就是这个最后他的这个获取长度的时候,那获取 长度的时候,最后面的空格不算, 不算数量,不算长度,最后面的这个空格不算长度,这个一定要记住,他的最后面这空空格他是不算的,所以说得到的结果是他们俩的结果, 他们俩的结果是一样的,所以得到的结果是什么呢?他们俩的这个啊,结果是一样的。这个 l e n 的用法,要记住这个是一个,是一个需要记住的地方,就是他最后的括号,他是不算长度的, 他默认会把后面的,默认会把结尾的空格去掉,去掉。那么这是啊,这是 l e n。 那么我们怎么把这个啊?愣用到什么呢?用到我们的这个实际运用当中呢?比如说 我们要查看学生表中学生姓名的支付长度,支付刷长度支付刷 长度。那么怎么读呢? select a l e n student from student info student info 那么这个 时候我们可以得到什么呢?哦,这是他的一个长度,然后呢?我们根据什么呢? theto name 把这个都查出来,是吧? so you know。 并且我们去按照什么呢? water bye, 按照我们的这个 lin, 它的这个长度降序排序。那这个时候呢?我们要怎么样? 他得到了是什么呢?哦,长度。你看这个迪斯特王,他的这个长度,他的这个支付圈长度是最长的,对,他的降讯,那么这个就是我们这个,嗯,嫩的一个用法,然后第二个, 还有一个,还有一个要注意的是,然后再提一下纯空格,那么我们可以 啥也不干,空格,是吧?然后呢?我们把它看一下,这个要提一下零,那么就是纯 空格不参与 ln 的计算, 不,不参与 ln 的计算。那么末尾还有一个要记住我们刚刚讲到的末尾的结尾的 存空格也不参与计算,也不参与参与计算。 常用的这个长度计算,这是我们的第一个我们要讲的第一个长。第一个,这个,呃,支付圈函数,第二个我们要讲的什么?今天可以就讲两个。第二个叫什么呢?叫做,呃, let 截取那个左左截取左截取的意思是什么呢?他的参数,他有几个参数呢?他有两个参数,第一个 要字符串,就是你要对哪个字符串进行操作,那么截取, 截取多少个?就是就是个数角,你要截取多少?从左边开始截取多少个?返回对应的内容返回对应的内容,我们来看一下,比如说 selector laughter。 欢迎来到烧烤的世界欢迎来到烧烤的世界。那么这个时候呢?我们要截取,我们要截取什么呢?我们要截取。连,他这个地方报错了,他提示你 ok, left 函数要求, left 函数要求有两个参数,所以说这个地方呢?报错了,那么我们要截取,截取,截取两个,那么我们看看返回的结果是什么 呀?欢迎从左边开始欢迎来到 sucle 的世界从左边开始,截取两个长度的这个制服,截取两个长度的这个制服,那么他得到的结果是欢迎, 得到结果是欢迎。那么我 反正前面用两个空格来算,看一下他得到的结果是什么?两得到就是空格,是吧?他从左边开始去这个,那么如果我是说欢迎再来一个这个得到是空格, 空格两个,然后呢?我们把它得到的什么呢?嗯,我们我们怎么样知道他是两个空格呢?这个时候我们可以用什么呢?论, 因为嫩他得到的结果是空,而不用嫩吧,因为他嫩得到结果是空的不好,很好看,是吧?所以我们当我们还是用什么呢?用这个,嗯,然后呢?我们来欢迎,是吧?欢迎 看后面是有一个空,有一个空格是有的,我们怎么样得到他的长度呢?我们可以认 得到这个结果记,你看看他的结果是多少? 他结果是一,这,这就再一再一个提醒他什么呢?我们这个嫩,他末尾的这个欢迎,他是不计算的,那如果我们改成这个三的话, 他得到的是什么?就是删了他这个空格就计算了,他的是花空格赢三个字符,三个长度,那么这是我们的左截取,那么左截取还有一个特点是什么?那如果,如果你说我截取三个,那我要是截取一百个呢? 我截取一百个长度,那么他得到的是什么呢?这个时候当你的当, 当你的,当你要截取的长度超过制服串总长度的时候,这个时候 截取所有内容,截取所有内容,这就是我们今天要讲到的这个两个函数,第一个是嫩的用法,第二个是 let 左截取的这个用法,那么今天就到这里。

hello, 大家好,今天我们来看一个场景,我们现在已经使用 就是前端使用了 html, 后端使用了 python 框架架构,那已经定义好它的呃的 url 以及处理登录的函数, 我们已经都是定义好的,还有我们前端的登录的一个模板,我们都是写好的。嗯,现在我们给他重新启动一下 八零八零窗口后,我们已经来到了这个登录的一个页面,然后我们来看一个场景,现在我们已知他的用户名和密码,我们现在来登录一下, 登录回车,它显示登录成功,发音默认是没问题的,对吧?那我现在先给他退出登录,我们来看一个场景,我们给他的后面添加这样的一个字母串, username 等于默认 是我们的用户名是知道的,但是我们在密码的部分给它添加了一个加密 c, 意思说密码填任何的它都会,就是它都能够正确处理。你看我们点击我们回车 啊,有一点问题啊, 我们这里有点问题啊,这里少一个问号吧,应该是少一个我们拼接字母串吧, 你看我们拼接了后面的这个字母串之后,我们看一下这个场景,是不是意思就是说我们任何密码都能够登录这个页面,那我们来想一下,这样是不是会产产生极大的 安全性的问题?其实这里啊我们就用到了一个,嗯,比较常见的一个漏洞,我们就是用的 circle 注入,我们就是用一个 my circle 的 语句,然后我们其实这里这里的这个 横线啊,其实它代表的其实是一个注视,它意思就是说 是就像这个符号,它就是 circle 里面的注示符,它的意思说后面的这段 字母串它就不会被执行,它其实实际上它执行了前半部分,它就执行了一个 select from log 落址, user where user name 等于默认后面他不会去执行,那我们就这样的话,是不是就绕过了密码的验证,这样的话会产生极大的安全性的问题,对吧?因为他不需要密码就可以登录到我们某一个 网站或者是某一个系统,对吧?那我们如何去防范一下这种情况呢?我们其实最常见的方法就是可以使用一下,呃,就是有一个 有一个方法叫做他能够其实他最好的一个方法可以使用一下参数化的查询,他就是把那个 把后面的必须也执行,对吧?那我们具体是如何实现的呢?我们也提前写好了一个比较安全的方法,就是用了一个 参数化的查询,你看我们这样将参数传递过去,他就不用那种拼接的方式,我们刚刚有漏洞的方式是有这种加好拼接的方式,他就会被三扣注入给攻击,对吧?他就会绕过密码验证而直接进入我们的系统网站,我们这样 就使用这个函数的话,我们就可以对它进行一下啊参数化的查询,像这样的话它就必须执行后半部分,那我们这样的话就可以完整的让这个系统更加的安全一些。 那我们来看一下,如果使用另外一条路径,我们用一个安全的查询呢?用的是 safe 杠,对吧?我们来看一下,我们来换一下, safe 现在是一个登录,如果我们现在使用刚刚的 circle 注入,它能够绕过我们的密码验证吗?我们来看一下,还是少一个问号,我们这里 完全是进入不到我们登录后的状态的,对吧?说明我们成功的就实现了对 circle 注入的一个防范。好的,今天我们的分享就到这里, 大家可以三连一下我们下一个小的知识点,我们明天就来。好的,我们明天再见,拜拜。 不知道大家还有什么其他处理 circle 注入 的一些手段和方法吗?如果大家有更好的方法,大家可以发到评论区,我们评论区见。拜拜。

今天信哥使用一个小案例带你搞懂 circle 的基本执行顺序。首先我们看一下这个 circle 语句,这个 circle 语句是找出平均成绩大于八十分的前三名班级, select、 evg from where, group by having, order by limit 一共用到了这几个关键字,那么这条社会语句的执行顺序是什么呢?我们来看一下。第一步,执行的是 form 语句,数据库引擎,首先扫描学生成绩表。第二步,执行 vr 条件,过滤掉成绩为空的记录。 第三步,执行 girl by, 按照班级进行分组。第四步,执行 a v g 函数,就是对每个班级的分数求平均数。 第五步,执行 having 语句,过滤出平均分大于八十分的分组。 having 语句和 wear 语句都有过滤的作用,但是使用的场景和执行的顺序是不一样的,这点需要大家注意。第六步,执行 select 语句,将需要的列给筛选出来。 第七步,奥德拜按照平均成绩进行排序,第一 sc 是造排序。第八步, limit, 只取三条记录,至此,一条完整的色扣语句就执行完了,小伙伴们你们学会了吗?