00:00
那么再往下走,咱们可以看到是吧,这里有一个什么呢?我们这个完事之后有个数据类型对吧?数据类型,那么说到数据类型呢,大家想一想,你们现在在我们的MY搜狗里边,你们接触过哪些数据类型,Watchr,然后还有什么差,还有什么in,还有什么。啊,Date还有什么太time date date time就日期相关的,对,其实咱们现在在这里啊,注意同学们,我现在呢,无无非啊,咱们你们这个别这个说这么多,咱们用的一般这是光串,然后呢in,然后还有什么date,其实date就统计的时候可能会用的多一点啊,就像以前其实在咱们这个实际我们这个开发的时候,其实data呢,好多它用的比较少,为什么呢?因为大家想一想,咱们在数据库里边,如果用date的话,对吧,那咱们这个在代码里边,那是不是也得对和这个date类型对应起来啊,但是代码里边呢,我们在写date这个创建date对象的时候,每次是不是都让咱导包啊,有的呢,就让咱们导什么circle date,有的呢,咱们导咱们YouTube date。
01:29
对吧,那你要到底找哪个呢?找这比较麻烦,后来啊,这些项目里边,他为了省事找干脆日期类型啊,如果说不是特别精确的,它直接怎么做呢?直接定义这我差类型日七对我直接进行叉类型,比如说叉八对吧,我现在今天啊,这个叉八怎么表示呢?20201031对吧,那这个呢,是我们现在它的一个日期对吧,比如说我现在再去把咱们这个什么这个小时短和分这位家长那就差商对吧,你有可有有好多项目其实也这么干啊,也这么干的,那这样做的好处是什么呀?就我现在拿过来之后,他们之间的是不是其实转换比较容易啊对吧?诶那么这块呢,了解一下,然后接下来呢,咱们现在呢,这个东西它本身是一个新的啊,我们这个数据库对吧,那咱们这里呢,它有它的类型,那这个类型呢,也就这么几个方面对吧,有什么整数有什么,比如说小数的有。
02:29
而不尔的要表示咱们现在的这个大家接触过吗?这个ember这个接触没有啊,精度都干啥用的啊,和钱有关的是吗?和钱有关的为什么会有这个东西啊,因为咱们现在在我的计算机语元里边,它是不是有一个浮点数对吧,描述不准确不精确这样的一个情况呀,对吧?然后接下来咱们是不是可以通过December来帮咱们把这个精度吧描述的精准一点,对吧?那比如说我现在呢,你们扎用过这东西是不是啊,讲过是吧,那它底层是怎么做的?
03:08
他怎么比如说我现在我这个2.0减去1.1对吧,它得什么0.8999对吧,他他怎么我用这个东西,它就能给我得到什么0.9,它底能怎么做的,对底层呢?现在把这个东西给转换成字符串处理了。啊,然后呢,再按照咱们一些学算规则对吧,进行处理的对吧,这会儿呢,得稍微知道一下对吧,然后还有一个什么呢,字串,那么字串本身呢,那刚才咱们说了是吧,说有什么在我们这个MYSO里边有什么差,有什么咱们这个挖差啊,有什么差类型,有什么的挖叉类型,对吧?它俩的区别在哪呢。一个是我们的定长对不对,一个呢是我们这个可变长到一个叫定长,那么另外一个呢叫可变长啊也定长,那么另外一个呢叫可变长,那么咱们现在这个定长可变长,它俩是怎么来短去这个这个分的呢?什么叫定长,什么叫可编程,比如说我现在呢,在咱们这里边,我定一个这个差啊,然后呢,这个100,然后接下来我传一个谁呢?我传一个哈豆过来啊,我传一个哈豆过来对吧?那么这个时候它实际对咱们现在占的空间是多大,100对不对,对,这个叫什么叫定长,就你不管给我传多少这个你的这个空间定了,那就100,那么如果说我现在呢,这个wa char啊,如果说我现在呢,这个挖CHAR100的话,然后你传一个哈过来,那这个是候实际占的咱们这个大小多大是不就咱五字节对吧?哎,那么这个呢,叫可变长,那么大家想一想,那么我们现在呢,在去使用的时候。
04:48
你觉得这两个谁的效率更高一点?啊对吧,差的效率更高对吧,因为我们现在这是典型的什么呀,什不是空间换时间呀,对吧,你上来我干什么,我又不给你,我我我管你,我管你这里面是多少字间的,我又不看对吧,你哪怕给我存两个一个对吧,那我也给你分配咱们100个字节大小对少100大字节大小对吧,所以这块呢,你要了解对吧,咱们这里也有短字串类型,然后还有什么呢?枚举类型,然后时间类型也数组啊像这些呢,咱重点关注的谁呀,其实这个对吧,然后呢,咱们现在这个对吧,包括什么时间这块稍微了解一下对吧?那么咱们现在来看一看这个东西怎么来都表示,那么先看整数啊,先看整数,那么咱们现在呢,这个整数啊,那么它本身的在表示的时候,对吧,那么它呢,有这么这个四个来表示的是我们现在它的一个啊,带符号的整数等于为它本身这整里边整数里边又又分了有什么无符号的,有什么带符号。
05:51
对,就无符号的话呢,那就是全是正数,如果带符号的话呢,对,那么就是说什么呢?有正负之分对吧?那么咱们现在看有符号的,那么它里边表示的对吧?有这么几种类型对吧?INT8 int16 in的32 int64,那一看这个东西应该和谁,是不是应该和咱们这个位数有关系啊,对吧,那也就是说分别是1248个字节啊,1248个字节,那么它表的范围呢,分别是这么多啊,它表示的范围分别是这么大啊,比如说范围变较这么大对吧?这个东西大家没有必要去记,对我曾经说给大家这个介绍过,它的范围怎么来算的呀,对吧?如果说我现在64位的话,那应该是负的二的六十三次方到正的二的六十三次方减一吧,对吧,这个东西不要去记啊,同学们,然后接下来那么除了它之外呢,那么这里还有一个什么呢?啊,U短的in的八短到这块呢,它的一个范围,对是这些啊,这个范围呢是这些对,它是无符号的短,就说它全是表示我们这个对这个。
06:51
负数啊,就表示正数对吧?那么使用场景对吧?比如说个数啊,数量啊,有的时候也会表示我们这个ID啊,有的时候也会表示ID对吧?哎,这个是我的整数类型,那么除了整数类型之外呢,那还有什么呀,浮点数类型对吧?注意啊,咱们讲类型的时候,那你应该知道它什么时候用,比如说我现在创建一个table create table对吧,然后呢,咱们这表名,比如叫这个test,比如叫test,然后这里边呢,那假如有一个字段对吧,这个字段叫什么叫A,那原来在咱们这里你是在指定它什么类型的呀,对,那现在也一样啊,对吧,只不过我现在买四个里可能in的,现在呢,这里给来什in的八对in的16,得INT32 in64,这么来表示了,得其实这种方式对吧?那么除了整数之外还有什么呢?浮点数等,那浮点数呢,那其实就这两个,一个是咱们这float double对吧,那float呢,这块它其实用的什么呀?就是我们在程序里边double,然后它呢,在咱们这里边是FLOAT32以及呢,咱们。
07:51
FLOAT64就它本身啊,没有我们这个double,没有double,它都用什么呢?都用我的float来表示浮点数对吧?但是呢,它为了区分精度对吧,那么在咱float的后边呢,加了float的32,还有float的64对吧,加了float的32和负64,然后接下来那么咱们现在呢,在这里说建议啊,尽可能对以整数的形式来存储数据,对吧?那么咱们现在为什么呢?因为我们现在呢这个浮点数对吧?要存数据的话,可能会出现咱们那个什么呀,对吧?这个精度它的一个丢失的问题对吧,比如说它在这里,它这个1.0减0.9,对,咱们可以看一看啊,在这里比如说呢,我现在在到当前这里来一个select什么呢?1.0,然后减去我们这个0.9对吧,减0.9,然后接下来咱们现在执行一下对吧,大家可以看到对吧,那么你现在看到结果它不是0.1,而什么呢?0.09999对吧,这种这就属于什么,这就属于咱们的记录丢失嘛。
08:51
对吧,哎,那么如果说我现在出现这种情况的话,对吧,那么咱们这个呢,那我应该用别的保存方式对吧,就咱们December对吧,那我这float一般什么时候用呢?对吧,一般数值比较小对吧,不涉及到大量的一个统计算,对并且呢,对它精度要求啊不高的时候对吧,那么这时候呢,那你可以对吧来使用我们现在它的一个对吧,这个浮点数对浮点数类型对吧,比如说保存商品的一个重量对吧,这个重量呢,其实对吧,它会有一些精度要求,但是呢,并不是说特别精准,对和钱比起来对那肯定不是钱的要求会精准一些对吧,那么咱现在再往下呢,块板类型,那么我们现在呢,在我们这个啊号里边,它没有单独类型来存储我的布尔值对吧,它可以使用什么呢?可以使用我们这个,呃,这个无符号呢,咱们整数类行对,比如说我现在把它取值限制为零或者一了,那么零表示我们的false,一表示呢,我出啊这也行啊,就相做标。
09:51
记吧的相对作用标记对吧,然后接下来这个decem类型对吧?那么decem类型呢,它其实呢,主要是处理我们现在呢,它的一个短这个这个在运算过程中短浮点数的一个精度的对,它保证了咱们的精度不丢失,对吧?那么一般咱们在使用的时候呢,那么有这么几种方式,一个是往December对32这种形式对吧?那么另外一个呢,是DECEM64对吧,那么另外一个呢,DEC10018,那么这个注意啊,那么现在它不同的生么方式相当于什么呀?其实它俩等价的啊,相当于这个东西它俩等价的对吧?那么咱们现在是表示什么含义呢?比如说DECEMBER32对吧,它表示的有效这个位数是我们的九位啊,是九位,然后接下来这个S呢,表示的是,那应该是我们的小数位数呗,的小数位数对吧,那你想有效什么叫有效数字呀。
10:42
什么叫有效数字啊,第一个不为零的数字开始是不是对吧,然后的位置叫有效位零数对吧?那这块呢,那其实就是这样,我比如说九个然个小数位置这个,那你说前面对吧,这个这整数这个位置是不是就是九减X呀,对吧?哎,那这是一样的道理啊,一样的道理,那他们表示的这个这个有效位数呢,是不一样的对吧,只不过这块呢,它是九对吧来接进位的,对,98对,然后这块呢,再翻倍对,再翻倍对吧,那么一般咱们现在这里这个对吧,使用场景什么样的,一般对我们的金术要求比较高的对吧,比如说和金钱对吧挂钩的,像这些呢,咱们一般都可以使用我们这个December,咱一般都可以使December,然后接着再往下走,这里呢,有一个字符串类型对吧,大家看咱们如果要是在我们买so里边,咱们刚才说了有什么呢?有我们这个短这个叉,以及我们这巴叉定长,还有咱可变长,那么我们现在在这里呢,大家注意看它这里边有string和什么fix。
11:42
String,那你说这两个东西,这个东西是不是应该是我们的可变长的呀,这个东西你看fix的是不是固定的呀,对吧?它用我们现在这两个类型对来代替什么呢?来代替我们的叉和我们的挖叉啊,代替我的叉和挖叉对吧?啊那么咱们现在呢,注意啊,这个虽然我刚才说我们的挖叉对吧,那么这个东西和我们这string比较起来对吧,极少会使用我们这个face string,因为什么呢?它用起来不是很方便,但这块呢,你看一看对吧,有这些项目呢对吧,其实呢,它还使用我经常去解决问题的对吧,这块呢,你要注意一下对吧,呃,使用场景对吧,这一般就是关于我们这个字串的一些类型呗,这个使用场景对吧?然后再往下呢,枚举啊枚举,呃,其实枚举这块啊,同学们对吧,这块大家去了解类型就可以对吧,这个枚举什么叫枚举啊,枚举类什么叫枚举类,是不是就如一个对一个类型,它创建对象的个数是不固定的,咱们叫枚举。
12:42
对吧?哎,那我现在呢,在咱们这里我也可以声明一个字段,就这个字段的取值呢,是固定的,你不能够超出我现在它的一个我们这个这个规定的这一个范围,对吧?比如说我们现在呢,要声明我们这个枚举例型,那么怎么声明呢?两个,一个是我们这个DUN81UN1UN16,那么在声明的时候呀,注意,那么它这个格式呢,它在保存的时候是前面的字符串,后边呢,是我们这个整数,它这样的一个对应关系啊,是这样一对应关系,对吧?什么意思啊,什么意思对吧?比如说我现在呢,在这里我要创建一个枚矩类型的一个字段,对吧?出枚举类段,然后接下来,那么咱当前呢,在枚举的字段里边,对吧?那么规定它只能出现那个hello和word对吧,那么在声明的时候注意看同学们在这里我们呢,当前这是表名,然后这个呢是字段名称,这个呢是字段类型,然后这块呢,是当前我们枚举类型里边。
13:42
它的一个枚举值,那枚举值的格式什么呢?这个枚举格值的格式啊,这边是值啊,这边是值,这边呢是对应的数字啊,这边对应数字对吧?那我现在这里边呢,这个引擎,这个引擎呢叫天lo,一般咱们在测试的时候用它后边会说对吧?那咱们把这个语句拿过来啊,直接呢在咱这里边执行一下对吧?那这样的话,我现在创建一个表,注意啊,创建了create table,这个语法和咱买so是一样的表名,然后这个是字段名称,这个呢类型名,类型名不一样了,来so里边好像没这个东西吧,对吧?没这个东西对吧?然后接下来那咱现在想到这里面插入数据,怎么插入数据呢?那应该是insert into,接下来T下划线,咱们的e um这什么插入啊,然后记了values吧,那我要往里面插入,插入什么呢?我要插入hello对吧,这一个我要想插入多个,你是不是在这里面再来就行对吧,这里再来就行,插入什的word对吧?然后接下来我现在呢,去执行一下,那么告诉我你两条数据。
14:43
啊,已经插入进去了select的星来from对吧,T_en um吧这一项对吧,大家想你看我在写这个思路的时候,你们感觉到这些click house,对,就咱们安装是安装一个新的东西,但咱们在操作的时候,我写的是不是就是circle对吧?就包括咱们现在把我这个菲利克斯装完之后,咱们再操作的时候,基本上我感觉操作是h bases,这这h base,但是呢,我们写的是不是也是circleq啊对吧?哎,所以说目前啊,同学们,咱们现在呢,在我们这里对吧?其实呢,我们这个一般要这个op啊,要发展的要稍微火一点的,短的基本上短就是和circle口短挂钩的短,比如说我现在短和circle狗的支持S的这个语法的短的一般的还好,比如说我现在处理一个olp产品,但是呢,这个你自己得写一个新的语法,那这个这个发展起来说让大火这个几率啊很小啊几率很小啊好,那那现在呢,我要再做做一个测试啊什么呢。
15:43
说假如说我现在在咱们插入的时候,我插入什么呢?我插入hello,不是我们现在do word对变成什么呢?Welcome对吧,变成welcome对吧,那么这个时候咱们运行对吧,大家看这个时候呢,它是不是告诉你了呀,对吧,你当前在咱们的枚举里边,它根本不知道咱们这个welcome存在对吧?在咱霉菌里边,它根本不知道咱们这welcome的存在对吧?所以说咱们现在这里边霉菌的作用是不是就相当于我给我当前的字段规定内容了呀,对吧,一般情况下咱们很少用它。
16:15
啊,一般情况很少用的,为什么呢,你会觉得。这个事不应该他来做了,你想一想这个东西可house都都到哪了呀,可house都到你大数据分析这一块了。然后你还判断说,诶我现在这个数据是不是这个类型对吧?不应该让他来做了,在他之前你经历过好多东西,对吧?比如说我现在以注册为例,对,比如注册为例什么呢?那肯定是我用户对吧?然后呢,发送一个请求,然后给你的网站,你这个网站呢,肯定给用户是不是打开一个网页对吧?比如说我用户访问某一个网站,诶你给他返回一网页,这个网页里边呢,肯定让用户输入一些信息对吧?这里有一个什么呀,有一个注册的功能,对这里一个什么注册的功能,然后接下来,那么咱注册完成之后呢,那假如说用户过来了,对用户过来了,那么咱们现在呢,把用户信息保存到DB里面去,那DB发生变化了,那通过ma来监控到哪呢?到咱们的卡夫卡,卡夫卡呢,通过咱SPA streaming来进行读取,SPA读取完之后呢,做一些什么呢?做一些我们这个啊聚合操作维度关联对吧,然后接下来再写到哪,再写到咱卡夫卡,然后再从卡夫卡里边读出来对吧,这个呢叫这个双流合并对吧,这个。
17:30
是吧,就做双流合并,然后进来再保存到我的click house,就你从这里啊,像咱们这里它其实走走走走走这么多步骤了,对吧?然后你到这里来判断一下什么呢?诶你看一看你注册的这个这个性别是不是男,是不是女,对吧?你说你让他做合适吗?对吧,这个是应该在哪做呀,应该在页面就开始做呀,对吧,那我现在在到页面我怎么保证呢?现在大家想一想,你在注册网站的时候,男和女对吧,这个东西不用你写吧,因为你写的话可能乱七八糟写对吧,咱们现在如果让你选的话,这个东西肯定让你点对吧,可以让你点对吧,他要不然选男,要不然选女,对吧,那咱们现在不能选别的对吧,所以说这块呢,你知道这个东西就可以啊,这类东西就可以对吧,这是关于我们现在它的一个什么呢?我们这个枚举类型对吧,那么咱枚举类型呢,它存储的时候呀,说这里边除了我这个值之外,还有一个对应的数字,那这个数字呢,咱怎么来获取呢?对吧,这个数字怎么来获取,那你可以通过这种方式对吧。
18:30
来从我们这里边把这个对的数字呀给拿过来对吧?那比如说我现在啊做一个转换,把case转换把谁呢,把它当前的这个字段转换成我的in的八啊转了in的八对吧,那这个时候咱们现在呢,你可以看一下,那么它对吧,拿到的就是我这的枚举这个这个这个值啊对应的数字啊对的数字,好了,这是关于我现在枚举类型,那么除了枚举类型之外呢,这里还有时间啊,这个日期类型,那么日期类型呢,有date,然后呢,有什么datetime对吧,如果如果date的话呢,就是年月日对,如果datetime的话呢,把时分表给加上,然后还有一个我们这个DATETIME64,那这块呢,除了年月日十秒之外,还有一个什么呀,亚秒对吧,还有一个是亚秒对吧,那么这块呢,是关于我们现在呢,对吧,它的一个我们这样的一个处理,对这日期类型,那么如果说啊,咱们现在呢,在这里对吧,还一样看更多的类型的话,你可以给关完文档啊关文档然后再往下。
19:30
组呢,还有一个类型叫数组对吧?这个数组呢也来看一看对吧,就本身我可以定一个字段类型啊,它数组对吧?定义自然性数组,那么这个东西怎么来用呢?对吧,怎么来用对吧?那你可以这样,比如说我现在呢,可以select every12,然后呢,咱们把它给拿过来,注意看啊,来直接执行的,直接执行什么意思啊,本身我现在这里边我是不是查询这个东西是什么,相当于定一个数组啊,你相当于定义了一个数组,数组两个元素分为一和二,然后给它的取的别名叫X,然后接下来你想看一看当前我这个X它什么类型的呀,这里有一个默认自带函数叫to type name,去把咱们类型的名称给拿过来,把谁类型名称拿过来了,把它X字段类型的名称给拿过来,那么这个时候你会发现对吧,当前咱们现在这个字段类型名称是数组书里放的是什么放的呀,是我们这个无符号的整数啊,放的无号整数对吧?呃,那么除了这种方式之外呢,好像还可以这样对吧,这个数组。
20:30
好,除了这种方式之外,还可以这样啊,比如说一啊,然后呢,二对这种查询这种方式也行,对这个呢,是关于我们现在clean house它的一个数据类型啊,这个是关于clean house它的数据类型,好了,咱们稍微休息会啊,稍微休息会。
我来说两句