00:00
Hello,各位小伙伴,欢迎大家来到学习原地,那么上节课呢,给大家去讲解了一下关于买税购当中的一些基础操作命令哈,然后呢,接下来呢,我们这节课呢,来学习一下关于买水果当中的这个数据类型,我们要认识一下哈,那首先我们来看一下啊,我们这课要学习的内容首先是买水果中的数据类型啊,以及它的表中的字段约束都是什么啊,还有这个MYQ中的一些运算符,还有最重要的就是组件哈,那我们来看一下首先。第一个就MYQ中的数据类型是什么哈,那么数据类型呢,它是定义呃列中可以存储的是什么类型的数据,以及该数据实际应该怎样存储的一个基本规则哈,那数据类型存储呃在数据列中的这个数据啊,那么之后呢,就是说呃,我们数据类型列呢,只能接受数值啊数,呃,比如说他说的是数字类型数据啊,只能接受数字类型的这个数据进行存储啊,非常简单,也就是说呃举个例子哈,我们在这里呢,进入我们MYSQL-u root-P啊,那么进入以后呢,我们取入到我们的库里面,然后呢,Select。
01:05
嗯,行from啊行from我们的user啊,我们来看一下这个表,这个表当中,我当时在定义的时候,这个ID啊,我们定义的是它的,呃,它是一个那个叫int类型,对不对?好,那我们来看一下啊DSC,我们的user users好,那么这个ID它是int类型,那因此呢,它只能存储int类型数据,那int是什么?Int就是数字类型嘛,啊就是整形哈,然后呢,One差呢是一个类型,它就只能存储类型数据,也就是说你在呃买S在设计表的时候,应该特别啊重视所用的具体的数据类型,因为使用错误的数据类型可能会严重影响我们应用程序的一个功能和性能,也就是说可能会导致啊错误,或者说影响性能啊,它会下降哈,呃,然后呢,更改包含数据的列不是一件小事,而且这样做可能会导致数据丢失,也就是说呃,尽量定义完以后呢,就不要更改,比如说它原来是数字类型,你把它改成字符串啊,对吧,或许可以,但是呢,它原来是字符串,你给它改成数字类型,这个时候就会报错,所以就尽量定义完以后这一列的数据呢,呃。
02:06
类型是不要动的哈,不要弄好,那么数据类型呢,通常就这么四种哈,非常简单,第一种呢,就是整形啊,或者叫我们称为数字类型哈,然后还有浮点类型啊,以及字符串和日期啊等等,也就这几个常用的数据数据类型了哈,那我们来看一下哈,首先看第一个字符串类型,因为这个是我们最常用的哈,他们存储就字串类型,存储同字符串,那比如说名字呀,地址啊,电话号码,邮编啊等等这些信息啊,我们都存成啊这个啊字符串大家有有小朋友问了哈。说川哥这个电话号码它不是一堆数字嘛,对不对,像邮政编码BS是数字嘛,那我们来说一下啊,他们虽然是数字的,比如说呃,电话号码它是11位的数字对吧,邮政编码呢,是呃五位或六位的这样的数字,但是请问这两个这个这个内容它需要做运算嘛,啊肯定是不做运算的啊,不做运算那这样的话情况下,我们就把它存成字符串行了啊,这是其中一个重要原因,也就说呃需要参与运算的,我们存成数字,如果不是需要参与运算,我们这个时候就存成我们的啊这个叫做什么呢?啊,存从我们的字符串类型就可以了哈,然后呢,不管使用何种形式的串数据类型,那么串值也就字符串哈,它这个值必须包,呃必须在哪呢?啊括在这个引号内啊,必须要有引号啊,然后有两种基本的字符串的A型,分别为定长字符串和变长字符串啊,那么定长字符串就是差啊差类型,然后呢,它接收长度固定的轴串,其长度是在创建表的时候指定的,也就是说大家看一下。
03:31
嗯,我这个今天这个位置啊,用的是挖叉,挖叉呢就属于变长,那如果把这个Y去掉,那就变成了差差类形成四个字符差,那它就叫固定长度啊,固定长度,固定长度的意思啊,就是说它是接受长度固定的字符差啊,然后呢,呃,定长的列不允许存储多余指定长的长度的字符,也就是说如果啊,如果我们假设这个是一个差类型,那么差类型如果是括号是四,那么它所存储的长度内容就是四个啊,就四个你不能啊不能多啊,也就说你存五个是存不进去了,当然你存挖差的话,刚才看到了我们存挖差五个是不是也进不去啊啊就是你定义了四个,然后存五个也进不去,也是一样的啊,就是首先它这个长度是不能超的啊,另外一个就是呃差和Y叉的区别,另外在哪呢?就是差如果写一个四以后,你存了一个字符或者是四个字符,它所占据的长度空间都一样的,也就是说呃差类型指定长度后,就会分配固定的存储空间用于存放数据,那么差括号七不管实际插入多少个字符,它都会占用七个字符的位置。
04:31
和空间,所以这个叫定长字符串啊,那么变长呢,叫做存储可变长度的字符串啊,那么什么意思呢?也就是说Y叉七,那么如果实际插入了四个字符,那么它只占四个字符,当然了,不能啊,当然不能超过啊,当然插入的数据啊,这个地方得说一下,当然不啊,插入的叫插入的数据啊,数据长度,长度不能超过超过七,超过七个七个字符啊,七个字符啊啊这个是一定的,也就是说不管是定长和变长,首先他们的长度都是不能超出限定范围的啊,限定范围的哈,当然了,这个在呃买CQ的5.5啊之前啊,五五点六之间啊,那弯差的话,你写个七,实际上你可以存十个字符啊,甚至更长啊,那后期升级的,升级的过程当中就把它改了哈,它的规则就改了啊,它现在的规则就说,呃,你定义一个长度为七,也就是它最大的长度就能为七,那么你插入一个字符,它占到空间就是一个字符空间,那么你插入七个字符,它就占入了呃,这个七个字符的空间,但是不能超过这个字符。
05:31
层间,然后定长的差呢,就是说它它的长度呢,就是固定的了,你你定义成多少以后呢,它就是多少了,它不呃不可能多,也不呃也不会少,就这样的一个啊情况啊来我我这里给大家换一种格式来给它定义一下哈,对就嗯嗯这样吧。啊再写一个,好,这样写好这个位置哈,呃,他们你你你呃大家在使用的时候要注意一下这个位置哈,然后你看,注意既然变长呃数据类型这样灵活,那为什么还使用定长数据类型呢?啊,因为性能啊,买水果在处理长啊,定长列远比处理变长列啊快得多,什么意思呢?就是说你注意看啊,我们假设啊,假设这个内幕啊,它是一个差类型啊,先假设它是一个差类型,那么它的长度空间都是四个,就是四个,你看不管你是存了一个字符还是四个字符,它就是四个,那么这样的话,我们买SQ在进行数据查询的时候,它就不用去计算它所需要的长度空间,然后直接全取出来就可以了,这样的话速度就快,然后呢,如果它是一个瓦叉类型,瓦叉类型的话,那你这个长度空间的话啊,长度空间的话啊,它是受限的啊,受限的也就是说它需要在查询的时候去计算你的空间,这样的话,相比较来讲啊,那么差的性能要高于我们的瓦叉啊,要高于瓦X,当然这两个呢都是给你,那么你可以啊根据自己的选择和需求来进行定义就可以了。好,这是我们当前。
06:48
形的这个字符串类型的差和Y差,然后呢,字符串类型还有其他的哈,那我们来看一下差,它是定义到一到255个字符的定场长度,也就是说呃呃,刚才刚才我们知道了说为什么变长啊,比较灵活的话,为什么还要使用定场,因为呃,因为处理定长比变长要快得多,性能好对不对?好,那么呃,既然有定定长了,那我为什么还需要变长的对不对啊,那我们来看一下区别哈,这个Y差,这个差的类型长度啊,它就是最少是一个字符,最大到255个字符,也就是它的长度最大就是255啊250瓦哈,好,然后呢,我们看一下瓦瓦A长度可变,它最多不超过255个字符,那么如果在创建时指定瓦差N,那么可以存储N到呃零到N个字符的变长长度,也就是说这个位置啊,你存储的实际数据内容就占据你实际内容长度,一般255个字符,举个例子,什么时候用的,比如说淘宝里边的那个商品的标题啊,是不允许超过255个字符的,也就是说他要么使用的差,要么使用的挖差啊,如果要。
07:48
查询速度快,那就是呃,这个使用差这种方式来进行存储就可以了啊,当然这是只是一个举个例子啊,好,那么接下来我们继续看一下哈,那么在差呃,在这个字符串类型常用的叉和弯叉以外,还有一个类型就是我们的一个。
08:01
啊还有一个类型就是我们要用到的T啊TT是什么呢?它是最大长度为64K的变长文本啊变长文本啊,它首先是变长,然后呢,呃是大文本,一般来讲适合存储我们的相对来讲比较大的文本哈,那么这个位置我给大家去写一下哈,我们的T啊叫T啊,T叫啊变长文本长啊变长文本类型文本。文本类型存储啊,存储上面的我们都叫字串,而我们text呢,叫做文本,也就是说它可以存储一篇文章啊等等这样的一个形式啊,好,那这是我们的text啊,然后呢,出了T以后,还有比如说这个呃,这个email,那它是我们当前的一个叫枚举类型,对不对啊,它接受最多64个啊,64K个串组成的一个预定义集合的某个串,也就是说这里边实际上是一个集合,那么你选择的值只能是这个集合当中的一些内容,好然后呢,其他的还有log啊,Log这个T它是与T相同,但是最大长度为四个G,也就是说它的长度啊比T要大很多,其他的啊,这里边我们相对来讲用的就少了哈,用的就少,所以一般情况下我们常用的就这三个哈,一个是我们的定长字符串差变长字符串挖卡,哎,这里写一下啊va啊叫呃VAR CHR好,然后上面给你小写啊ch AR好,这是一个两个,然后还有我们的啊文本变成变成文本类型存储text好,这是三个字符串当中常用的类型哈,那么接下来我们再看一下。
09:29
数字类型哈,数字类型当中数字数呃数值数据类型的存储啊,是存储数字类型的数据,然后呢买最后支持多种啊数值存储,每一个存储的具有不同的,这个叫什么啊,范围空间啊,那么支持的取值的范围越大,那么所存储的空间越多,什么意思呢?啊就就啊就说你在MY数Q当中进行存储数据操作的时候啊,你定义的这个呃,数字类型的这个呃,类型不一样,然后他们所占据的空间不一样,比如说我们常用的哈,这里边有很多啊,但我们常用的其中的几个哈,那我们来看一下哈,呃常呃,这里边有这个叫int啊是我们常用的,好,那么int哈,它是一个整数值,也就是它支持重复的2147啊483648,然后到2147483648,那是多少位呢?啊,那我们看一下哈,呃,也就是说它如果是负数的话,就是最大到21亿,最小是负的21啊,那这个是正数和负数哈,然后呢,如果它是无符号的情况,那就是最小为零,最大就是42亿啊4200009000。
10:29
好,所以这个时候啊,这是in的类型,它可以存储到值的一个范围空间,那么如果说比如说我们存一个年龄,我们完全用不到这样的一个空间,对不对啊,因为太大了,它会占据的空间更大哈,那么这个时候可以怎么?哎,可以使用叫t in啊T进看它下边这个叫t int,它是一个整数值。也就是说它支持从负的128到正的127啊,那如果是无符号的情况下,就最小为零的情况下,那它最大的时候支持到255。啊,这个就是我们的天T,那么我们在呃拍呃在这个我们的数据库的操作当中啊,常用的就是int和天T,还有一个float float就是呃存储一个叫单精度的浮点数啊double叫做双进度的浮点数,还有一个呃,Dism,我们看一下dism啊在这啊dism哈,它表示呃,表示数值总共五位,然后小数占了两位,T it啊一个字节,然后呢,取我我们给你写一下吧,呃T一个字节,然后八位,它是呃零到255255,或者是负的128到我们的127啊,负的一一百二十八到127啊这样的一个范围空间啊范围空间,然后呢,我们的int啊呃,Int占据的这个空间。
11:42
呃,这里边儿没写是吧,啊,Int占据的空间相对来讲也比较大哈,它是啊,它是这个负的负的21亿。亿啊,我就不给你写那么多了,21亿啊,到正的啊,到正的21亿啊,或者是从零到我们那什么四十二亿四十二亿啊啊就是这样的一个取值范围啊,取值范围啊,大家一定要知道,就是我们当前买税当中哎,所用到的这个呃取值范围,呃,然后这个呃,我记得int啊in特没记错的话,应该是占四个字节啊,四字节空间啊,四个字节的空间啊,大家把它这个记住就行了,也就说我们在呃买股当中啊,一般情况下啊,常用的就是这四个啊啊这三个啊,还有一个float float啊float啊float是一个浮点类型啊,浮点的这个数据啊呃基本上就这么几个,那么可能最常用的呢,就是int和t int,还有dism Dis small这个里面呢啊,它表示五位啊,比如说这个五逗号二表示一共有五位数,然后其中小数占两位啊,就这那么买税库当中呢,没有专门存储货币的数据类型,一般情况下就使用Dis猫,然后呢,比如说八位二,那就是一共八位,然后呢。
12:52
小数点占两位啊,这这样的一个数据的存储方式哈,那么当然在这里边我们提到了有符号无和无符号,比如说呃,这个位置。
13:00
啊,这个位置哈,比如说整形,那么无符号有符号的情况下就是有个负数啊,前面有一个负数符号的话,那么这个时候它就从负的21亿到正的21亿,对吧?那么如果没有符号,就是最小为零,那么最大为42亿,那么有符号和无符号啊,那么所有的数字类型啊,除了这个啊,Bit啊叫bit啊这个以外,那么都可以有符号或无符号,有符号数字列可以存储正或负的数值,然后无符号只能存储正数,默认情况下为有符号,但如果你知道自己不需要存储负值,可以使用这个关联字来进用描述,那这样的话就证明它是一个无符号的一个数字就可以了。好,这是我们当前的一个,呃,这个有符号和无符号的一个操作哈,那么你看他说注意哈,如果将邮政编码类似01234啊存储为数字类型,那么将保存的值是1234,所以呃邮编呃必须要使用什么呀?必须要使用我们的这个叫呃字符号类型来进行存储,对吧?好,那么另外还有一个就是关于我们的手机号,那么大家思考一下,就手机号应该手机号。
14:01
应该用什么,用什么进行存储,用什么进行进行存储呢?存储呢对不对啊答案是什么呢?啊答案就是字符号,为什么呢?手机号是11位,而大家看我们普通的INT42亿的话是多少位,看一下啊呃,Int在这位的哈,各十百,呃一位两位,三位四位啊呃五位六七八九十,也就是它最大存到十位对不对?那么这也就是说它占了四个字节的空间,然后也就最大存到十位,那么这个时候如果你要存更大的怎么办呢?用这个B跟B跟啊B跟更大啊更大,但是它所占据的空间也就更大,所以这个时候完全没有必要了,这个时候啊,而且呢,呃买系构呢呃这个手手机号呢,也不参与运算,所以这个时候呢,哎,用我们字符串进行存储就可以了,哎,所以这就刚才为什么提到像邮编啊,手机号应该用我们的字符串进行存储好了,呃,那么接下来还有一个就是关于日期和时间类型哈,那么买水果使用专门的数据类型来存储日期和时间的相关的值哈,那么这里边啊,Date啊,Date time。
15:01
Date呢,表示从1000年到1月1日到9999年12月31日,然后也就是说它表示年月日啊,格式是四个Y,然后两个M2个D啊年月日哈,然后呢,嗯,接下来是。Time哈,那么date time是date和time的呃组合,也就是说日期和时间的组合啊,也就是说time的时间是小两位的小呃小时数,两位的分数和两位的秒数,那么如果是date,那就是是呃四位年,两位月,两位日,然后呢,Time就是呃十分秒,那么如果是date time就是呃date和time的一个组合,那通常情况下我们都是使用啊这个data time呢,呃情况下比较多,然后当然了,你还可以单独去存储什么呢?存储年啊,存储年这种方式来进行这个存储,哎,用两位数来表示,比如说七零就是1970年啊,然后六九就是2069年啊,然后用四位数字表示的情况下,就是1901年到2155年啊这样的一个年的表示,当然绝大多数情况下,我们要么用date啊,要么用datetime啊,然后呢,年的情况下相对来讲用的更少一点啊,这是日期和时间类型的这个数据哈。
16:08
好,那么接下来呢,就是呃,MYSQL里边除了这些数据类型,你们还可以进行二进制的存储,那么二进制数据类型可以存储任何数据,包括二进制的信息,那么这里边就包含了图片啊,多媒体啊,字呃字呃,这个二进制的字块等等啊,但是要注意的是,比如说是呃,图片啊,视频啊,音频等等这种多媒体的文件,我们通通都上上传到文件啊服务器,但是不会把它存储到数据库啊,也就是说我们到时候记录的是它的一个路径,而不是把这个数据给我存到这个二进制里边啊,所以这个就是大家知道,但是不用就可以了啊,不用给了没有,我在从业这么多年啊,没有见过哪个公司或哪个项目使用二进制的数据类型,就是把这种图片音频啊等等这种多媒体数据存到数据库的,没有哈,绝对没有哈,所以在使用的时候一定要注意一下就可以了,好,那这个是二进制数据类型哈,呃,那这个是相关的数据类型的一些内容,那么。
17:03
嗯,这节课的内容就先给大家简单讲解这么多,那你需要记住的就是我们常用的有证片类型,然后数字类型,日期时间类型和二丁制类型,完事以后呢,我们最常用的数字符串类型当中有定长的car变成的Y叉和数字类型当中的啊,这个int啊,给大家列出来的这个是呃,In t in和float和M啊这四个啊,然后还有就是我们的时间日期啊,Date date time以及样啊这么四啊这么几个就可以了,也就是说我们有四种常用的类型,呃,有四种类型,然后呢,其中常用的是三个,然后每个类型里边大概常用的就有这么两三个就OK了,你把这个啊掌握就可以了。好了,那么这节课的内容就给大家讲解这么多啊,那么下节课呢,给大家去哎,说一下后边的表的啊,字段约束是什么,以及买水果当中的运算内容,好了,我们下节课再见。
我来说两句