00:00
那随着呢,我们对这个流程控制函数讲解这个完成啊,咱们整个这一章呢,叫单函数呢,也就接近于尾声了啊,那有同学可能会说说这不还剩下几类函数吗?哎,加密与解密函数,My circleql的信息函数,还有其他函数对吧?哎,确实呢,还剩下这三类,但是呢,我们说从这个重要性上来讲呢,咱们前面已经把主要的几个呢都讲了,比如说数值相关的函数,这个字串相关的,日期和时间相关的,还有这个流程控制啊,咱们说呢,在MYSQL当中最为重要的三种数据类型啊,就是数值类型,字串类型和日期时间类型的。啊,那这个流程控制呢,这是我们也是在写这个SQL语句的,这个时候呢,必不可少的是吧?OK,那么后边这块呢,大家就整体上作为一些了解就可以了啊,就是必要的一些补充啊好,那首先呢,我们来看第一波叫做加密与解密的这个函数。那顾名思义加密与解密呢,就是针对于数据库中的这个数据啊,进行加密和解密操作的是吧,防止数据被他人所窃取,那比如说我们在呃,存储这个数据库的这个表当中,那有一些字段呢,我们就可以呢,是不是进行这个加密操作呀。
01:12
啊,你比如说咱们用户呢,是不是都有用户名和密码,诶把这些信息呢,是不是就放到这个用户表里边了,那相对应的用户名呢,咱们当时不用加密了,但是这个密码的话呢,我们是不是需要给他做一个加密处理啊。那同样的话呢,你这个把自己的钱呢,存到银行卡里边,然后银行卡呢,对应的这个信息是不是在银行的数据库里边都有保存,那你相应的你这个呃,支付这个密码是多少,是不是也都需要做一个加密处理啊,那否则的话呢,如果说这个黑客或者说这个呃,银行这个系统里边存在一些漏洞,那用户呢,通过就是黑客呢,通过非法手段呢,就拿到了这张表呢,暴露出去以后,那如果你要没有加密,那这个数据呢,是不是直接就暴露出去了,那就肯定不安全是吧,那我记得呢,是在。呃,我记得啊,是在2009年左右吧。
02:00
这个cidn啊,Cidn呢,我们说这个典型的成销网站是吧,那他号称是成销网站呢,然后竟然爆出来一个丑闻,当初呢,这个数据库呢,就被这个,哎,出现这个漏洞,被黑客攻击了,然后发现呢,这个后台的,诶,我们这些用户的这个,呃,这个信息是吧?诶在后台呢,这个密码竟然是以铭文的方式来保存的啊,非常恐怖的一件事情啊,对于CIDN来讲呢,不应该出现这样的问题啊,你要说是一个政府网站出现了,那咱们能理解,毕竟不是专门做这个程序的是吧?那CDN出现的话呢,着实不应该啊。那么我们拉回来咱就知道了,这个数据呢,肯定是要加密的啊,但是这块呢,有同学说说老师呢,你既然这个用户的密码呢,一定要加密,那为什么你这还说是一个补充呢?那这个原因是因为咱们在整个从用户啊,咱们作为普通用户来讲,咱们比如说用手机的一个界面吧,咱们写上用户名,写上密码,是不是直接点登录,就诶请求网络去后台校验了,对吧,那我们在发给这个后台的时候呢,我们其实在咱们的这个客户端上就已经可以实现加密了。
03:03
已经可以实现加密了,就没有必要呢,我们非得是拿一个铭文的方式,然后放到数据库的时候呢,再通过数据库进行一个加密。能明白这个意思了吧,所以说呢,诶咱们呢,这块呢,呃,加密操作完全可以前置到这个客户端这个位置,即使呢,用户呢,就是一些这个网络的攻击呢,是在网络传输过程当中,然后获取到了你的信息了,那我们是不是都已经加密过了。啊,那这个数据呢,是不是就更加的安全是吧?哎,你不要在这个传输过程当中啊,就使用这个铭文。好,那相当于呢,我们这儿呢,只是给了一种在数据库中加密的方式啊,只不过我们平时呢,都是前置啊进行加密。好,那这块我们看一下都有哪几种这个加密的这个函数哈,哎,这个涉及到了有这个password啊,有这个MD5加密方式啊,非常这个著名的一种加密方式啊,是不可逆的啊,这个password呢也是不可逆的啊注意啊啊这呢,我们一开始装MYQ8的时候呢,是不是就提到了这个,呃,咱们入的用户的密码呢,就使用了这个的这样一种加密的算法是吧?诶它比这个MD5呢,就更加的安全,诶更加的安全。
04:08
那么这呢提到了这三种,咱们来这块呢,做一个测试啊好,这块首先我们说一下这是五是吧。哎,第五波关于加密啊与。啊,解密的这个函数啊,好,那首先呢,我们看到了叫select啊叫password,诶这个函数好这里边比如我们写一个这个MY,那你可以把它呢,看成是一个铭文了,对吧?好my circle,然后呢,我们加一个me,然后执行。哟,哎,大家会发现是不是报错了呀。那报错呢,说我们在这个位置出现错误了,嗯,那这个报错了,我们回过来看一下啊,你看我这块是不是写的也没有问题啊。哎,那么这个原因是什么造,诶是什么原因造成的呢?哎,这块给大家说一下,就是咱们这个password这个函数啊,哎,这个函数呢,在咱们这个MYS狗8.0当中呢,就诶不推荐使用了啊,你看这块呢,就报错了,那咱们回到咱们的5.7。
05:06
啊,我这块呢,这不连的是这个5.7啊,还记得吧。你还记得有同学这个忘了哈,那我把这个关掉,咱们再重新加一下,呃,这个新的连接,咱们在当初这个呃,安装MYSQ的时候呢,咱们不是装了两个版本,然后这个呢,呃是呃用这个8.0啊,这不是3.06嘛,然后我这块呢,还有一个。这个是不是13306,他那连的就是咱们的5.7的版本,对吧?诶你测试连接这就5.7的版本没问题,好连接成功。哎,回过来这个呢,是5.7的啊,然后呢,咱们还是选择这个叫艾特硅谷这样的一个数据库啊没问题,好,那我CTRLV,诶把刚才的这个指令呢,我们拿过来,然后呢一直行,诶你看在5.7当中呢,就出来了。啊,就出来了啊,所以说呢,诶大家知道这个函数呢,相当于在咱们这个8.0当中,是不是已经被启用了。啊,这个我就哎这么着啊。哎,在啊MY8.0中,哎七。
06:03
启用啊,知道这个事就行了,好,那我们就不在这块呢,去专门说它了,然后另外呢,还有两个,一个呢叫MD5的加密,哎,我这写一个叫MS。哎,这一个是吧,还有呢,是不是提到这个的这个价ha是吧,哎,这样的一种加密算法。好这两个来把这两个我们选中呢,做个执行,哎都能出来,那这个密码呢,当然是这个,呃,这个叫无需的啊,这个我们按照某种算法呢,哎,就是把它称为叫MD5加密的,这呢是SH的这种加密的这个哎算法啊,哎这里边提到说它比我们MD5呢,就更加的安全啊,那咱们呢,就是刚才提到了,说在这个客户端的话呢,用户名密码,不管你是注册也好,登录也好,我们这个密码呢,再发送给这个后台,然后再存储到我们这个数据库当中的时候呢,我们就可以去加密了,通常呢,这个用户名的这个用户的这个密码呢,就可以使用这个MD5的加密。啊,那ha呢,说比它更安全,那你当然也可以用它了,这两个呢都是注意叫不可逆的啊。
07:07
哎,这个呢,都是不可逆的,也就是说呢,我们这块呢,是不是呃my circle呢,我用它加密完以后,是不是得到这样一个字符串了,那这个字符串呢,说能不能用另外一个呃函数把它再还原成这个MY呢?注意是不可以的。是不可以的,所以这呢就称为叫不可逆,它只能够从这个铭文,哎,转换为这个叫暗文,没有办法呢,从这个暗文呢,再转化成明文了啊,这叫不可逆的,那有同学就会想说,诶那老师我要是密码就叫做MYSQL,他存到这个底层了以后,那我怎么证明,我再输入一下,比如我们注册了啊用户名密码就注册了是吧?哎,那么比如说这个密码呢,我们就叫这个MYSQL了。啊,就要这个MYSQL,然后呢,我们再去登录的话呢,那怎么证明我能够登录成功呀。哎,那这个问题呢,你就不用担心了,那我们是不是就是你这块存的话呢,是不是就存的是这个暗纹了,然后呢,你再输入一个叫做MYS,我们是不是仍然拿这个MD5加密这种方式算出来一个长的字符串,跟这个存储的这个字符串呢?咱们去匹配一下是不是ES就可以了呀。
08:11
哎,是不是相等的就可以了,所以呢,直接去匹配。啊,这个暗纹就行。啊,这个注意一下,也也就是说呢,比如说呃,一个这个黑客呢,拿到了你存储在数据库当中的这样一条数据了,他拿到这个数据呢,对于他来讲其实是没有意义的啊,因为他不可逆,他也算不出来你的密码是MYSQL对吧,他能做的只能呃只能啥呀,他也没什么办法是吧,他没办法算出MYSQL,那他要是把这个呢去填到。填到这个用户名和密码这个位置,这个密码这块,他如果填在他。那就不对了,那相当于成了啥了,相当于他拿着这个数据呢,又是在咱们现有的这个MD5的基础之上呢,哎,是不是你又加了一层啊。能理解吧,就是如果呢,这个黑客呢,拿到你这个字符串呢,哎,他呢去在客户端呢,去做登录了,相当于呢,他拿着这个字符串呢,在又进行了一次MD5,那跟你这个得到的MD5肯定不一样啊。
09:06
对吧,诶你看这个跟这个肯定不一样,所以呢,它就没有办法呢,就诶破解你这个登录信息了啊,这就我们所说这个不可逆,它的这个好处嘛。好,那问大家一下,你说我这块呢,诶咱们就考虑前两个哈,诶我这块呢,每次都执行,你说他这块呢,算出来这个是不是都是一样的呢。会不会有随机的情况呀?我反复执行是不是没有啊。啊,肯定没有嘛,你想想对吧,诶刚才如果大家你听懂我这个事儿了,你就知道肯定没有,那要有的话,那不是麻烦了吗?哎,你这块呢,刚保存了个密码,然后现在呢,又输入MYSQL这个密码,呃,新算出来一个字串跟原来还不一样,那不是永远也登录不成功了吗?是吧,是不是成这个意思了。OK啊行,哎,咱们把这两个呢,哎就说清楚了,只是呢,在数据库当中给我们提供了这样的一种加密的方式啊好,那除了这两个之外呢,再者呢,就涉及到了一对啊叫encode和这个decode啊这两个的话呢,就是一个呢是加密。
10:05
那就是把我们这个字符串按照这样的一个feed啊,就是一个种子一样是吧,或者叫一个因子呢,去做个加密。啊,你可以理解成就是个密钥一样啊,然后这个deco呢,就是一个解密。啊,一个是加密啊,一个是解密啊,那需要注意的就是这哥俩呢,在咱们这个MYSQ8.0当中啊,呃,也不能用了。啊,你看我们select,咱们先是这个叫in code是吧,哎,首先呢,来个字符串啊,比如我们叫at硅谷。好,这个字符串呢,我们来一个这个,呃,这个seed是吧,我们比如说就叫my from一个到。好可以了是吧,好选中之后呢,我们这块呢,做一个执行,哎,你发现呢,是不是又提示说这个函数呢,不存在了。啊,所以这块我们想强调的点呢,就是这个叫in code。哎,这个函数还有呢,咱们的叫deco。哎,Deco的这两个函数呢,在哎MYSQL8.0当中,也也被做这个七用了,好那这时候呢,我们CTRLC一下。
11:03
哎,咱们在这个,哎5.7上中呢,哎给大家呢,稍微演示一下啊呃,那这呢是咱们艾特硅谷按按照它呢,做了一个因子,做了一个加密是吧?好,我们做一个执行。哎,你看这块呢,存储的就是相当于一个乱码一样,哎就是暗文嘛,哎你看不懂是吧,哎它呢跟我们这个叫哎deco呢,正好是这个相反的是吧,它呢就处于这个解密的。嗯,解密的注意啊,这个首先是前面这个暗纹,然后呢,这个C的啊,我们可以列解成是这个密钥一样啊,这个密钥呢,我用的就是这个MYSQL啊。注意你别这块CTRLC一下,然后呢。这么着啊。这这这肯定不行啊,这是框框呢,诶不能这么着玩啊,诶说这块能不能给还原回来,那那就乱套了,还原不了啊,哎,这个我们怎么演示它是一个,诶前一个逆过程啊,你就把我们这个引扣的呢。A把A到这是吧,哎,这块选中CTRLC,咱们放到这儿呗。
12:01
放到这儿,然后呢,你把这个呃,加密以后,这得到就是这个暗纹,然后呢,按照这个C的呢,再给它返回回去。那是不是就出现爱的硅谷了?啊,那它俩呢是一对,哎,互为这个needs操作的这样的一个函数,这呢是加密啊,这个呢是解密是吧,哎,这样一个意思啊吧,好,我这块呢,把它CTRLC一下,咱们就暂时的我就放到这了。哎,把这个我就注释一下啊,你知道呢,在5.7当中,我们去做这样一个执行啊就可以了。好,这个呢,是咱们说这个加密与解密啊,接着咱们看这个第六波啊,这个第六步呢,这块提到了叫哎MYSQL这个叫信息函数。啊,就是我们涉及到这个数据库相关的一些啊,信息的这样的一些函数啊,相对来说比较简单,来我们看一下。那有这样的一些啊,咱就直接呢把它盯一下啊,一边说呢,咱就一边演示就可以了。好拿过来好select啊,第一个这个version。
13:00
啊,这个呢,就是返回咱们呃,MYSQL这个版本号了,呃,下一个呢,叫connection ID啊,就涉及到我们这个连接的一个啊连接数了是吧?哎,Connection ID啊连接ID好,然后呢,接着这个data base。哎,我们的这个数据库啊,STEM。啊,这两张返回的是一个意思,好,下边这个user,还有这个current user啊,这个返回的都是一样的。啊,我就不一个一个去列了啊,You system user,呃,Session user啊,都是我们这一个,就咱们现在连的是不是,我就是拿的这个root用户连的咱们local host是吧,哎,这样的一台服务器啊,诶所以这俩返回的其实就是它啊好,再接下来啊,这个我们叫char set,这呢写一个value,说返回这个字符串呢,它使用的这个字符集。啊,使用的字数集啊,比如说咱写一个叫哎商归五。哎,写的他是吧。好,然后下边呢叫啊coll啊,就咱们所说的那个叫比较规则吧,啊比较规则好这样,然后呢,我们也写上,哎,比如说叫哎上硅谷是吧。
14:04
好,然后from一个到OK行这呢整体来讲是比较简单的啊,咱直接跑一下就可以了啊第一个啊版本号呢是8.0.26啊连接这ID啊,这个是一个八是吧。然后这个呢,Data是at硅谷DB,这不我们这个数据库嘛,然后这个user的话呢,就是咱们刚才说的啊,Root用户访问的当前这个,呃,本机的啊,这个连接啊,这俩呢是一样的啊,我就没有列这俩了啊,然后呢,叉set这块,我们使用的这个呃,字符集是吧,或者叫编码机啊,这叫UTF8MB3呢,这里边指的就是三个字节来表示一个汉字。啊上归谷的上啊,咱们前面不是还提到过他们的这个lengths的嘛,啊LS的话,一个是三个字符,这不是三乘三一,哎哎,一个是三个字节啊三个字符呢,就是九个字节MB3,这个三呢,就是一个字符用三个字节来表示的啊。好,后边这块呢,对应的你这个比较规则也是UTL8的啊,他们一定是对应的一种关系啊。
15:01
行,这呢,就是咱们说的这个叫哎,MYSQ的这个叫信息,呃函数啊,大家在需要的一些场景当中去用就可以了,你比如说呢,如果说大家你要开发一个呃这样的一个客户端啊,你要开发一个这个客户端的话呢,比如说像我们刚才连接你连接的是哪一个,呃这个数据库啊是吧,你这块呢,这个是哪个用户连的呀?诶像这些呢,我们是不是都得需要通过这样的一些函数去获取啊。是吧?哎是这个意思啊,你像咱们刚才我在哎这个位置的时候,你看我建立一个新的连接,哎就拿它来说,哎,我们这块测试连接,哎这块制造连接的就是这个版本啊,你要换成这个8.0的话呢,我一测试连接知道这就是8.0,哎像这块呢,我们可以理解成是不是就是获取的咱们,呃,相关的这些函数是吧。哎,OK啊好,那么除此之外呢,咱们再来看一下这个,诶第七啊,最后的这一波就是其他的这个函数。哎,其他函数啊。这个其他函数呢,大家根据也是实际情况的需要呢,你去使用就可以了。
16:04
哎,这块呢,我们也是啊,这个直接拿过来,一边说呢,咱就一边做一个简单的测试就可以啊,整体呢,大家做一个了解就行好。首先呢,我们做一个这个select啊,这个呢叫做form啊,这个单词呢,习惯上我们翻译成了叫做格式化是吧?哎,第一个呢是个value啊,说把这个数字Y定呢进行格式化,输出它的结果,N呢,表示四舍五入后保持的小数点的后N位啊这呢也涉及到一个四舍五入的问题。比如这块我们写个一二三点这个123吧,哎,逗号一下,这个呢,我写一个二,哎from一个到。啊,那就表示呢,保留两位小数。保留两位两位小数,那这个三呢,是不是不足五,那我改成五。哎,选择一下是不是就幺三了,哎,其实还是那个四舍五入是吧,哎,大家习惯了就用那个round呢也行啊好,这是一个,然后CTRLCCTRLV这个我要写个零呢。写零呢,是不是就意味着保留零位小数,那就是只是到这个整数位是吧?好再写一个啊,我这写一个负二呢。
17:06
按照我们那个round来讲呢,是不是就开始往前考虑了是吧,当然这块我要写的是个负数呢,但是你发现呢,是不是还是123啊。啊,还是123啊,这个怎么来理解呢?哎,这里面就提到了,哎,我们把这个呢,CTRLC一下。那我就放在这儿来说一下啊,说呢,如果这个N的值呢,小于或者等于零啊,等于零小于零,那么这时候呢,就只保留整数位啊这个呢,跟我们round的呢,哎,不太一样是吧?啊好了解一下啊,然后下边这个啊come。哎,这个呢,就是考的相当于转换的意思,把它呢从这种进制转化成这种进制啊,相当于还是这种呃,进制之间的一个转换啊,诶我这有这个例子,咱们直接拿过来看一眼就可以了啊。哎,把它呢,CTRLC。哎,然后最后呢,习惯上咱们都加上一个这个from了啊。嗯,不加呢,当然也不报错啊,好,也没有问题。好哎,看一下啊,这呢是我们这个值,我把这个值呢,从十进制转化成二进制啊,把它那个值呢,从十进制转化成16进制,哎,Now呢,从十进制转换成二进制啊就是这个意思啊,选中执行。
18:11
啊,16呢,从十进制转换成二进制,哎,长这样啊,二的四次方嘛,是吧,哎,然后这个呢,是8888转换成16进制的,哎,闹呢,这个转不了是吧,哎就始终是闹啊,比较简单啊过了。下边这个呢,涉及到的是这个IP地址的一个转换了。啊,简单说一下,这呢是一个an net是吧,然后呢下划线。哎,这样一个函数,然后这个位置呢,我们写的就是个IP啊,就IP,比如说幺九二点啊,这个幺六八点啊,1.100啊,我就以它为例吧,然后把它呢,做一个转化啊,From the door。然后这个转换的结果呢,你会发现它得到的是不是是一个整数是吧?哎,是这个整数啊,这就相当于是我们你也可以理解成就相当于是像加密一样啊,把这样的一个IP地址转换成是一个整数了,然后呢,咱们再通过下边这个函数。
19:02
啊,I night。哎,通过这个函数呢,咱们再把它给还原回去。啊,把这个数我们CTRLC哎放到这儿来,我们选中。走一把。啊,这个给我,诶搞错了是吧。哎,From一个到啊,在这是分号,不要写。走一下啊,大家会发现呢,是不是又把我们这个数呢,还原成这样的一个IP地址了呀。没有问题是吧,诶那么大家呢,可能有同学呢,会感兴趣,说他这是怎么转的,诶我这块呢,诶有这样的一个例子。哎,有这样的一个说明,好,那这呢,就是以192.168.1.100来说的是192乘以256的三次方,加上168乘以256的二次方,一乘以256的一次方,然后再加上一个100,哎,得到的这个数。哎,就算出来的,然后呢,哎,回去的话呢,是不是也同样的方式呢,就给大家再还原回去就可以了,是吧?哎,就这个道理啊,行这呢是我们说的这样的一组,然后再看下边这个。
20:07
啊,下边这个呢,看着有点意思,叫benchmark是吧,这干什么呢?这呢,我写一个表达式,然后这个表达式呢,让它执行N次。让它执行次那干什么呀?哎,你看这块写的说主要呢,用于测试我们这个表达式呢,哎,看看它执行所耗费的时间啊,因为我们要表达式只执行一次的话呢,有的时候呢,它是零秒是吧?哎,你看不出来了,那我让它执行的次数比较多呢,咱们就能够看到它花费的时间,你可以,诶对不同的表达式就是同一个功能呢,我们有使用几种不同的方式,诶比如说都让他们执行这个,呃1万次或者是这个10万次,你看他们花的这个时间谁少我就用谁是吧,哎,相当于我们这个用这个,哎叫bench。啊mark啊,使用这个函数呢,哎,用于测试这个哎表达式它的这个哎执行时间啊,或者呢,叫执行的一个效率问题是吧。
21:01
好,来测试一下啊,我们这个select一下啊,叫bench mark,哎,我们先来个一次啊,比如来一个MD5啊,My circle是吧。换个到啊。好大家看这呢,我们是把这个MYSQ呢,用MD5呢做了个加密啊,肯定是需要做计算嘛,哎,就执行一次花的这个时间啊走一下啊,实在是太小了是吧?啊这个呢,都没有时间了,那我们让他执行啊,这是一万十万次来选中跑一下。啊,大家看啊,这个时候的话呢,你看他花的时间呢,是不是就上来了,哎,通过这样一种方式呢,我们去这个来检测一下这个函数或者这个表达式,它执行的一个效率的情况。啊,执行效率的情况,OK,行,这就过了啊,然后再下边呢,这个select叫convert啊,你一看convert是不是就转化的意思啊。说呢,将Y6啊所使用的字符编码修改为这个叉扣的。
22:00
就是我们这儿呢,它是有一个字符集的。啊,它是个字符集的,然后呢,呃,把我们这个字符集呢,改成用这种字符集呢来表示。啊,相当于字符集之间的一个切换啊,一个切换啊这块呢,我们可以首先呢,使用这个叫A叉set是吧?哎,我们这里边呢,比如说咱们写上一个叫。啊,艾特硅谷吧。哎,上硅谷的这样的标识是吧,哎叫这个艾特硅谷。好,这个呢查side,咱们刚才在讲上面这块新型函数的时候呢,是不是提到它了是吧?好这个我写到它,哎,这个呢,我们首先呢,哎,From一个到啊。哎,From道,然后呢,把它选中,哎执行一下这是不是U8MB3是吧,刚才那会说过啊,然后我们接着呢就可以使用这个叫a convert,哎,这呢我们还写这个叫at硅谷,然后呢,这个a using。然后后边这个呢,叫一个叉扣的,叉扣这块写什么呢?比如我们写成UTF8。啊,MB4。
23:00
哎,相当于让他拿四个字节来表示一个字符。哎哎,把它转换成它以后呢,那我们来看一下。转换成它以后呢,我们首先这样去跑一下,你看它这块呢,这只是说做了一个转化哈,转化完以后呢,这不还是艾特硅谷嘛,没啥区别,但是转换完以后呢,我们想转化完以后的这个结果呢,他的叉赛的是什么?哎,我们再包一下呗。哎,这样子是吧,好我们选中。走一下好,大家看啊,是不是就有这个区别了,哎,那么本身呢,咱们默认的是呃,UTF8MB3的,那我们把它转换成MB4之后呢,再看你得到的这个字符串,它的这个差塞的呢,那就是MB4了。哎,相当于可以实现一个转换是吧,比如我们这呢,改成这叫JBK啊,这块我们再去做一个执行啊,是不是就变成JBK了,哎,所以这个函数呢,我们相当于是不是可以实现啊字符集的一个转换呀。哎,可以。来实现看看字符。
24:00
爱奇艺的一个哎转换OK啊,那么像这种呢,咱们在其他的这个编程语言当中,实际上呢,是常见的啊,像我们说的客户端后台还有数据库,哎发送的这个字数集,如果要不一样的话呢,是不是都得要做一个转换,诶然后呢,诶这个再去存到我们数据库里边,就是确保呢,我们客户端这个,诶web服务器端和我们这个数据库端,他们三端啊使用的字数集都得是一样的啊,不一样就得转。啊,咱们通常情况下呢,大家都约定俗成啊,都使用这个UTF8是吧?哎,这样的一个字数集,哎,如果呢,你要约定好使用UTF8了,那就不用转了,哎,但你要不是的话呢,就必须要做一个转换是吧?哎,这是在数据库层面的一个转换的方式啊。好,那么至此的话呢,咱们就把这个整个呢,单号函数呢,咱们就讲完了啊,应该说呢,这一章看着还是挺重的啊,因为里边呢,大量的函数的出现啊,大家呢,必要的呃,适当的做一些这个练习,熟悉熟悉这里边这个函数,OK好,那我们这章的这个章节的这个内容呢,我们就说到这儿。
我来说两句