00:00
好呃,咱们上次课呢,就把我们MYSQL的这个部分呢,我们就介绍完毕了,我们先一起来看一下我们上次课讲的这个变量部分,变量的话呢,咱们是分为了两类,那么一类呢,叫做系统变量,那么它是指是不是就是变量由是不是系统提供的呀?哎,不用我们自己去定义啊,有系统提供的啊,不用啊自定义好,那么我们根据它们的作用域不同呢,又往下分分了两类,一个叫做全局变量,是不是还有一个叫做绘画变量呀,哎,那咱们先一起来说一下我们的全局变量,它是什么意思?全局变量呢,它是针对于是不是整个服务器的呀,啊,所以说它是服务器层面上的啊,那么只要你服务器启动,那么就会为我们的系统变量是不是提供默认值啊啊提供默认值,那么假如说我们要去修改值呢,必须拥有啊,那就是必须拥有super权限,Super权限才能为。
01:00
是不是系统变量啊,赋值啊,同一赋值,那么作用域的话呢,作用域它是整个的是什么呢?呃,整个的服务器啊,作用域为整个服务器啊,整个服务器啊,也就是针对于啊,是不是所有的连接呀,针对于所有连接或者说退话有效啊,但是咱们说了它不能快重启,当你的服务器再重新启动,那你刚才付的这个值是不是都失效了呀?哎,除非是你把这个变量呢,在我们的配置文件,配置文件呢,是不是也看过呀?呃,在配置文件上你去更改才可以啊好,然后这个是关于全局变量的这样的一个呃作用域啊给大家提一下,那会画变量是什么意思呢?会画变量它是指服务器呢,为我们每一个连接的客户端连接的客户端啊,然后都呃,相当于提供了啊,提供了系统变量,但是呢,只针对于或者说作用欲呢,作用欲为。
02:00
当前的连接啊,或者说当前的会话,那你再新建一个连接就失效了啊,新建一个连接就失效了,那么它和我们全局变量一样呢,也是不用我们去定义的啊,那么假如说我们更改的话倒是可以,但是你也是必须拥有super权限啊,它这个意思好,那么接下来呢,咱们再去说一下怎么去使用它啊,一般的使用其实无外乎就是赋值和查看呗,对不对,复值和查看,那么我们写到上面来吧,写到上面哈,哎,那这就是关于语法层面上的,我们呢,介绍了这么一些,第一呢,我们想去查看我们的系统变量,查看系统变量怎么写的来着,Show were variables对吧?啊,那当然前面的话呢,我们看一下是全局的还是会画的,对不对?哎,那么我们这个前面应该加上global或者是session,对不对,这个东西是,呃,可以省略的对不对啊,可以省略的,但是呢,你要省略的话,它默。
03:00
是对,默认是session啊,也就是如果没有显示显示哈声明啊是global还是session,则默认,则默认是session,也就是是不是绘画级别呀,哎,注意那么假如说我想根据条件去查看系统变量啊,那么我就可以加上一个拉啊里边是不是加上同配符这些呀,嗯,那它是这样的哈,这是查看,那么接下来呢,我们又来了一个是查看是不是指定的系统变量的值啊啊那么查看指定的值,我们通过的就是select了,哎怎么写呢?这个里边哎是不是两个at呀,哎,然后我们这怎么去写的global或者说是section点,然后后面再去加我们的呃变量零对不对,哎,就看你是哪个变量了哈,哎,它这样的,那其中的话也是你的这个。
04:00
如果或者说这个session的话,我们也可以不用写,对不对,也可以不用写,但是你要不写啊,他还是认为就是session级别啊,啊能看到吧,嗯,它这样的一个意思啊,行了,那么接下来我们再看第三点,那如何为我们的系统变量赋值呢?啊,它用的是set,它用的是set,那么set呢,我们可以有这么几种写法,注意看哈,那么我们可以直接也是加上啊,我把这个粘过来哈,Global或者说是session啊好,粘过来,哎,Global或者说session后面加上我们具体的是不是变量零呀,等于值,哎,我们可以这样,这是一种方式对吧?啊或者是说我们也可以set,哎,对了,两个at,哎,然后是global点是不是变量零呀,哎,等于值,但是这个相当于是为什么变量赋值了全局变量对不对?哎,那如果说为。
05:00
不变量的话呢,就是直接,哎什么呢?变量名等于值,看到了吧,嗯,然后这个我这样写哈,这个是方式一,哎这样去写,方式二就是加F的,哎这样去写,那看到吧啊那当然呢,方式一的话呢,这一点也要注意,如果没有显示声明,同样的也就是我们可以写成sat section变量名等于值,或者写成sat变量名等于值,是不是省略session呀啊也行,能跟上吧啊一共两种方式哈,好吧,这就是系统变量啊,我们的使用无外乎就是这些赋值可查看啊去吧,然后呢,我们再去看一下这个自定义变量哈,那自定义变量的话呢,意思是说是我们自己去定义的,然后再拿来用啊那么我们分为两种,一个是用户变量,一个是局部变量,首先我们看一下作用域,用户变量呢,它的这个作用域呢,是比较。
06:00
较大的啊,它是针对于哎,这样写哈,针对于我们当前的连接,或者说是不是绘画生肖呀,哎,它是这样的哈,哎,这是它的这个作用域啊,比较大,那么它可以放在哪?也就是语法上放在的位置呢,就是对它可以放在是不是所有的位置啊啊任何位置,也就是我可以放在B跟N的里边,也可以放在,也可以放在是不是外面呀啊就是跟外,呃跟N的外边都行啊都行,那么怎么去用呢?它相对比较灵活啊好,相对比较灵活,那我们呢,可以直接声明对不对,哎,比方说我们声明,他一般来讲声明并赋值放一起的啊我写到这了哈,这是第一点,哎,怎么写的呢?直接sat后面我们去加上哎这个玩意是吧?哎,变量名等于值,这是一种方式或者。
07:00
可说怎么写的,哎,或者放这或者说sat,哎,At变量名冒号等于值对了,很好,那再或者是select后面加对了,At变量名冒号等于值对吧?啊,这是生命并赋值啊,生命并赋值行了,然后呢,我们呢,再去看第二步,呃,你第二步的话呢,其实就可以直接拿来用了,对吧,但是你也可以再重新更新值啊,更新它的值,它的更新值其实还是这样去写吧啊,当然我们也可以叫负值啊,哎,粘过来啊,我们认为这个叫做方式一啊,你可以这么干,也就是再来S一遍啊或者说我还可以怎么办呢?方式二,哎,用select什么什么对不对,Into,哎,我们的变量名加不加at呢,加的。
08:00
哎,加的哈,哎,然后再表啊,哎是不是应该这样写呀,哎,也就是说哈,假如说你就付一个普通的值,什么叫普通的就是一个常量呀啊或者是呃,有值的变量呀,那你就用sat或者是这种写法,如果说你负的值经过计算啊,并且呢,是来自于表啊,或者说表中的字段吧,哎,那么我们就用这种语句能看明白吧,哎,你得分情况吧,分情况啊,有的说老师我想set变量名,呃呃,这个不是set值into变量名,那试一下哈,啊那不行,人家是是没有具备这样的一个语法呀啊行,然后最后一步的话就是使用了,哎直接你就s selected,但是要加上这个at,要加上它变两边完事能看到吧,嗯,这也没了。接下来呢,我们说一下局部变量,局部变量呢,它的作用率就比较小了,仅仅在定义它的,呃,这个叫做代码块有效是吧,或者说比该喷的中有效,哎,那超出这个范围就失效了,哎,就失效了哎,那么所以说呢,来注意看哈,那么它呢,还有一些这个这个这个这个用法上的局限性,那也就是它所放的这个位置啊,注意了,只能放在比跟N的装,是这样说吧,B跟N的中啊那么还有一点,其实那就是什么呢?而且只能放在放在第一句啊好,也就是说假如我创建一个procedure procedure小括号加上一个proe啊好,然后呢,Begin end,然后你在这个里边是不是要定义局部变量啊,你这个局部变量呢,你看我们每次定义是不是都这么写的呀?嗯,INTB1哈,是不是都放这了啊?
09:54
假如说你说老师我上面有一个衣服衣函数啊,或者说衣结构,这样就报错了,因为我的这一句话只能放在第一句能听懂吧,只能放在第一句啊好,这个说一下,我把这个去掉了啊,好,这是它的位置啊,行,然后接下来呢,我们再说一下它的使用,它的使用跟我们Java中的这个变量的使用差不多啊,我们也按照这个步骤去走啊,那就是首先第一声明,第二呢啊赋值,或者说叫更新,更新也就是更改值,第三步呢,我们就叫使用好来,注意看声明的时候呢,它用到的是declare变量名类型啊,然后根据需要你可以去加default,嗯,Default后面是不是再去加值啊,嗯,够了,这是声明那赋值。
10:54
或者更新这个的话呢,跟我们的这个方式其实是一样的,其实是一样的,只不过是把艾去掉去掉,哎,这个就别去了,这个不能去用select的方式啊,然后呃,这个方式也是一样,然后把at给去掉,能看到吧啊它这样最后的使用一样不一样啊,也一样啊,也就直接拿来用啊,咱就跟咱们Java中似的,是不是你就拿来用啊,你不一定像我这样查看,你也有可能是把它收复着给别人啊嗯,就拿来用就行了啊好了,那这个就是关于我们的曲部变量,这不就说完了吗?哎,接下来呢,咱们又介绍了存储过程和函数,首先存储过程函数我们都可以类似于类似,哎,类似于我们Java中的是不是方法呀?啊,那类似于JA。
11:54
套装的方法,那它的意思就是说,是不是将一组完成特定功能的,哎逻辑语句对不对,哎是不是包装起来呀,啊包装起来啊,对外包露名字,哎,所以说对于存储过程和函数一样啊,函数函数来讲,他们最关最主要的呢,还是这个名字对不对,你得找到名字,这样的话才能找到实现功能的语句,好了,那么好处的话有这些,咱们说了总结三点,简单安全性能高对不对,哎简单的话呢,就是说因为它提高了是不是属用性呀,哎提高了属用性,然后我们再去使的时候,我们的思后语句呢,也不用写那么复杂了,是不是也比较简单了呀啊然后第三的话呢,就是说因为它减少了编译次数,并且减少了是不是和我们的数据库服务器连接的次数啊,然后所以说提高了啊效率。
12:54
啊,提高了效率,它是这样的啊行,那么我们呢,就分开来说一下它们的语法,首先看一下存储过程,存储过程的创建啊,这个的话呢,你最好是记一下啊,我画一个五角星create后面加的是pro c着后面加存储过程名小括号,这个地方加的是参数模式,然后参数名,参数类型啊,然后呢,再去begin end,哎,然后这个里边加那个,哎,存储过程体哎,也就是一组语句对不对,增产改查呀,这些都可以往里边放啊哎,那么其中呢,我们需要去注意的一点就是关于参数模式,这个模式的话,它支持的是in out,还有in out,诶说一下就行了,不管是in out还是in out,首先他们都可以有零个也可以有。
13:54
一个也可以有多个,也可以互相组合,这样说能听懂吧啊好,那么呢,再去看in的话,它代表的是代表的是输入,Out代表的是输出in out代表的是既输入既做输入又做输出啊它这个意思啊,其中其中印可以啊省略啊印可以省略,就是你不写也没事,不写是不是也是默认的是印呀啊但是为了可读性的话,你最好是上它,你像咱们是不是都加上了啊好,这是关于参数模式哈,然后另外呢,我还说了,还有一点要注意的就是呃,你的这个存储过程体中的每一条SQL语句啊呃都加分号,你可能也是了的,如果不加是会报错呀啊它会把后面的是不是都连起来了啊,存储过程起的每一条sol语句,Sol语句啊都需要啊用分。
14:54
号结尾对吧,这个要注意哈,好,然后呢,我们再去看调用,那调用的语法呢,就是靠后面再去加存储过程名小括号,哎,然后呢,就结束了嘛,对不对?那这个里边我们放的是不是就是时串列表呀,哎,那你要根据需要放,如果说你这个是印类型的,我这怎么放,我这举例吧,如果说是调用液模式的参数,哎,我这是怎么放的呢?靠后面比方说ST1小括号,哎,这个里边我就直接放一个值,我说的对吧?啊,这是举例的哈,比方分号,然后假如说我要调用art模式的参数,哎,对了,你得提前是不是定义一个变量呀,下圈name,比如说是不是定一个用户变量呀,也定义不了别的是不是啊。
15:54
然后呢,我们再去com后面再去加SP,然后这个地方放圈name对吧?啊,如果说我们要调用in out模式的参数,那么我这是set,哎,圈内是不是等于值啊,哎,你把值给写上对不对?哎,然后在Co后面加SP,然后这的话是name啊,然后再去干嘛select啊,Name对不对,一般这样去使啊,哎,行了,嗯,这个好像这个好像也应该是不是去打印一下呀,也应该打印一下对不对啊哎,那么接下来我们再看如何查看存储过程啊,那我们一般来讲,你要是查看指定的某个存储过程的具体信息,那就是show create c着后面加存储过程名即可哈,那如果说删除的话,我们使用的是drop c着。
16:54
后面加存储过程怎么样,是不是就完事了?好了,这就是关于我们的这个存储过程的一些语法,需要我们去了解的啊,就是这些啊,那接下来呢,我们来说一下函数,函数呢跟这个存储过程一样,也是分为这么四种啊,我找同学来说一下创建函数哈,李玉清。
17:23
好,Create function后面去加,哎函数名,然后小括号对吧?嗯,那这的话应该是对,这个里面放的是参数名,还有是参数类型对不对?嗯,参数类型哎,那我这儿还要去加对了,Return是不是叫做返回类型,然后是跟end对吧?嗯,然后这个里边就是我们具体的函数题,好,请做对的吧,嗯,然后这个要注意的就是我们函数必须有一个返回值啊,必须有一个返回值,那所以说我们要注意的一点,我们的函数其中啊,肯定需要有什么语句啊,哎,肯定需要有,是不是就是return语句啊,哎,这是肯定的,然后再去看它的调用,它的调用就是select。
18:24
函数名,小括号还有分号,这呢是使它列表啊,对吧?那如何去查看一个函数的具体的信息呢?Show create function,后面我们再去加函数名,那如何去删除呢?Drop function啊,后面我们再去加函数名啊,行这个就完了,那后来呢,我们又说到了,是不是流程控制结构呀,流程控制结构正常来讲的话一共是三个对吧?顺序结构,分支结构啊,循环结构,咱们再去复习一遍,顺序结构是指我们的程序从上往下依次执行,那么一般来讲,我们的我们的程序是不是都遵循这个结构呀?啊或者说整体,其实它遵循的也是一。
19:24
什么顺序对不对啊,那分支结构是指我们程序是不是按条件进行,是不是选择执行啊,哎,看你要执行哪条路径,那么它也是说从两条或者说多条路径中选择一条直行,它肯定是选择一条去执行,对吧?啊,那循环结构呢,是说我们的程序啊,这叫在一定条件,一定的条件啊,应该叫满足是吧?啊满足一定条件下啊,重复执行啊,重复执行是不是一组语句啊哎,那这个叫做我们的循环结构啊好,那么我们重点来说的就是分支和循环,首先看一下分支,那么在咱们MYS中,目前来讲可以实现分支的呢,有这么几个。
20:24
其实这个不能称为结构了,对吧,但是我也放里边了啊,因为它也能实现一个小的分值,对不对啊,我也就放里边了啊那一函数它实现的是双分制吧,嗯,可以实现是不是双分制啊,简单的双双分制,而且是对不对,嗯,简单双未知好那么它的这个语法呢,是这样子的,If小括号,哎,然后这个就是条件,哎然后值一逗号值二,好它是这样的哈,那它可以放在什么位置呢?啊,那么它可以去放在是不是任何位置啊,对吧?啊,就是可以作为表达式啊表达式哈啊啊是不是放在哎你的这个任何位置啊,我说的这个任何位置可不是说你就这个语法上有错,你放哪都行,不是那个意思能听懂吧,哎,我的意思说你放笔跟里笔。
21:24
在N里边你结合着select是不是也能使啊,你放在里面摁的外边,你结合着select是不是也能使啊,哎,我说的是这个啊好,但是一般的来讲是不是就结合着select去用啊,啊,它是这样的哈,然后再看case结构,Case结构的功能呢,就是可以实现是不是多分制啊啊多分制啊,那它的这个语法的话相对就要复杂一点啊,我们一般来讲是case后面我们可以加一个表达式,或者说啊这个字段呀什么的,对不对啊,然后再问是不是满足一定条件呀,呃,Then啊是不是再去走我们对应的语句啊好,然后再问值2S,哎,是不是语句二啊语句对吧?啊,然后第二点多个,那最后结尾的话用的是else语句N是不是就没了,那最后的话要来一个end,哎,对,那也有可能加上一个N的。
22:24
Case,嗯,为什么说也有可能,是不是它要分情况呀,嗯,注意哈,位置位置,诶位置行,它能放在的位置是这样的,它可以放在是不是也是任何位置啊啊任何位置,那么如果说如果放在我们的B跟N的,呃,这个叫做外面吧,如果放在比跟位的外面,一般是作为表达式,表达式结合着,结合着是不是我们的比方说呃,其他语句使用啊呃,结合着其他语句使用啊,那么如果说放在里跟N的里边,N的里边,那么一般可以作为一般作为是不是就是独立的语句数句使用啊啊独立的语句使用,我说的是一般作为独立的语句使用,其实你放在begin的里边,你作为表达式也没事了,明白吧?啊,但是你要是放。
23:24
在根N的外面,它就只能作为表达式啊,只能作为表达式来去试,所以说你像这个东西,你是不是就得自己试一下呀,来自己试一下,怎么试呢?你在begin and外面,你你你用它结合select写一遍,看语法它对不对不对,你去掉select试一遍看对不对是吧?啊,你来回这样去试一遍啊,你光听我这样说,你可能就是比较抽象啊,你搞不清楚再说什么,那么接下来呢,我们再去说一下这个衣服结构哈,啊,这个case结构其实还有一种对吧,还有一种我们是不是可以去掉它呀,对,那也是一样,那我就这么写吧,语法一对不对啊,再来一个是不是语法二啊,嗯,这样去写啊,当然它俩放的位置是一样的啊好,我这实际上可以去掉啊,然后这个地方就是条件了,是不是就是条件了,嗯,这不就没了吗?对不对啊。
24:23
有没有疑问哈,没有了哈,没有了呢,咱们再说衣服结构,衣服结构它的这个功能是可以实现,是不是多分支啊啊然后呢,再去说它的这个语法嘛,啊,那它的这个语法呢,就是衣服啊,条件一,哎,这个就比较干净啊,后面再去加then啊,是不是语句一啊啊else if啊,条件二,Then是不是语句二啊哎,当然这个都应该加上分号,因为你这是个语句了嘛,语句二语句一这不是独立的语句嘛啊好,然后呢,我们再去写的是呃,多个啊,最后是else else也可以省略啊,语句N,哎,然后是N的if完事啊,这个分号它结的实际上是这个语句能听懂吧,这个分号结尾的是整个衣服啊,整个衣服好,最后呢,我们来说一下它能。
25:23
放在什么位置,它是只能放在底跟N的中啊,只能放在这,你想一想,要是不是只能放在比个N的中,我为什么非要这个时候才讲了对不对啊,你想这个事情是不是就应该早就讲了?嗯,我为什么讲完存储过程和函数,它讲它对不对?嗯,说明只能放在这个里边呀,嗯,好吧,那这个就说到这儿了哈,呃,接下来呢,我们又说到了循环结构,循环结构我们来去说一下,呃,首先呢,这几个它都只能用在哪个地方呢?嗯,对,根的里边,我先说一下它们的位置啊啊,只能放在我们的begin and中,哎,这个要注意了,然后再说特点,呃特点的话呢,就是都能实现循环结构是不是?嗯,啊,这个没事,循环结构。
26:23
好,然后呢,我们再去看每个的语法,首先while循环它的这个语法的话呢,就是嗯,怎么写来着,哎,是不是先加上一个是不是名称啊,嗯,然后冒号,后面再去加well,呃,后面再去加条件,这是循环条件对不对?哎,然后怎么写对啊,然后再去写是不是循环体啊,嗯,然后再去写in the well名称名称对不对,嗯,好,就没了。
27:00
然后呢,我们再去些loop,呃,Loop的话呢,就属于比较底层的一种循环啊,呃,比较这个相相对来说比较比较什么呢?啊,它的这个实验的功能比较简单的这种循环啊,那这个语法的话是这样来写的,名称冒号,然后是look,对,你看它连个条件也没有是吧?哎,直接就是循环题and look,哎,所以它这个你一看是不是就是一个死循环呀,你要是说哎老师我不想变成死循环,你就得搭配什么来用了,对,是不是那个咱们昨天学过的live啊live啊对吧?嗯,那repeat repeat怎么写来着?好,上面上面还是一个名称,然后再去写repeat,代表说重复重复什。
28:01
好呀,循环体好,然后再去until,哎,后面再去加结数,注意啊,这是个结束条件对不对啊,结束条件,然后再去end repeat,后面再去加名称啊没了吧,好,然后最后呢,咱们可以总结一下啊,那么这我们总结一下啊,就是对比就是对比啊好首先呢,我们说一下第一点,第一点啊,这三种循环啊,这三种循环注意了,这三种循环呢,都可以省略名称,都可以省略名称是不是也就是不写呀啊但如果循环中添加了循环控制语句,比如说leave或者说嗯,则必须添加名。
29:01
全称能看明白吧,看这三个都是这样的,第二点我们就对比一下哈,对比,那对比一下就是look呀,先说look一般用于实现是不是简单的死循环呀,啊简单的,而且是啊死循环啊,然后另外呢,再比较while和那个repeat对不对,Well的话呢,它是先判断后执行,而我们的repeat呢,是先执行后判断啊,所以说我们的while的话呢,肯定是呃,它不一定执行的,对不对啊,那么我们的这个repeat是无条件执行一次啊,是不是无条件至少执行一次啊啊是这样的吧?啊所以说它有点类似于我们Java中的do well啊,这个就是我们的well对吧?啊,这不就没了吗?然后最后的话,咱们再去说一下那个是不是还有一个循环控制。
30:01
句啊啊,循环控制语句写到后面哈,循环控制语句啊,这是第二大点吧啊哎,这个里边有一个叫做live,这个类似于break,非常好啊,那么用于跳出所在的循环啊,好,然后还有一个叫做it,这个类似于continue,用于结束每次或者当次循环,继续下一次,对吧?啊,那么一般都搭配着我的循环名称,是不是去跳出或者继续啊嗯,它是这样的啊好吧,那关于我们MYSQL部分的这个总结就给大家说到这儿了啊哎,每天的总结呢,我说了就是一个查漏补缺,我们会把重点的,重点的或者需要大家提高的一些东西在总结上给大家说。
31:01
看啊这个发现大家MY搜狗L部分全了,除此之外,除此之外咱们呢,呃,每天的随堂笔记是不是有一个MD的这样的一个文件呀,对吧?哎,然后每天的话呢,呃,也会给大家把这个当天的这个重点也给大家去记下来了啊,整理好了,现在这个呢,也是全的了,能看到吧,也是全的了啊,那所以这个也发给大家啊,然后这个里面标注着重点,能看明白吧,画五角星的就是要求不管什么时候你都应该很快写上来,画对勾的意思是说你当天的你代码你填了两三遍能够明白,下一次你可能比方说只记了关键字了,对吧,大概有个印象能达到这样一个程度,我说明白了吧,嗯,好了,我把这两个都会发给大家哈。啊。
我来说两句