00:00
呃,接下来我们看一下这个have中间的一个数据类型啊,数据类型,因为后面我们要去讲这个DDL和DML啊,跟这个具体的数据相关的,所以呢,我们在之前呢,得先了解一下它这个数据类型,首先呢,它得有基本数据类型。还有集合。啊,还有集合,还有那个类型转换,类型转换呢,跟Java差不多,就类似于呃,In。可以到那个浪是吧,自己转型就这意思啊,自动转型好,那这里边基本属于类型,我们看一下啊,其实我们要掌握的呢,就是用的最多的就是标红的那四个。浪类型这个叫啊大呢,就是大就是spring,而且我们知道其实我们在里边是不是写的小写啊,对吧?啊大小写不区分,对于它来说,但是你写一个S大写spring这个也可以。
01:00
啊,这个也可以,就是大小写不区分,它这个里边啊,就这一块呢,你要注意一下就OK了,就这四个,其他的我们稍微做一个了解,这里面呢,它没有字节类型。就是一个字符两个三个八个啊1248,然后么,然后跟。啊,这两个东西是不是跟那个Java当中一样啊,对吧?啊一样,然后布尔类型呢也一样,但其实布尔类型这个东西比较少用,其实。因为一般的情况下,我们希望表示这个不好意思,我们会怎么做呢?假如说表示男女,呃处表示男,False表示女,可能我们用离一来代替,能懂我意思。啊,我们一般很少用这个布尔类型,会用零音来代替啊,零或者是为处一为false啊,这样代替比较方便一点,而且存储的数据量呢也能小一些啊,所以呢,其实布尔类型这块呢,呃,虽然有很多的时候需要用到它,但是呢,我们用另外的一个方式来代替它,用一个in对吧,邻接来代替它啊,就这意思,好,还有一个float。
02:01
单进度的啊,Double的会多一些,因为我们有很多指标啊,是要两个相除。得到的什么率对吧,假如说我今天访问的人数有500万。啊,电商平台最后呢,整个下订单的100万。看一个什么下单率对吧,占比,然后最后说支付的,其中支付的有90万啊,每一个呢,都要求它的一个中间的一个比率,那这个时候呢,会用到这个double,会用到double等等,它就是在一个比率的时候会用到double,思瑞这个东西用的最多。因为更多的时候,我们所处理的数据是日志。是日志,传统的那个后台产生的日志,所以呢用的是最多的,更多的字代码都用的是S,所以我们这个时候呢,了解这几个就够了,这四个啊,到后面你会发现基本上就这四个类型,基本上就这四个,而且以in跟对这两个居多啊,其实big in还有这个double相对来说还要少一些,要少一些啊,就但是比其他的要多一些,当然这里面还有这个。
03:07
时间戳时间的时间相关的啊,然后还有一个bary直接数组啊,直接数组的这个都比较少用,这特别是这两个啊更少用啊更少用了,因为如果说真的是一个时间桌的话,我们用哪个来点。用牛病也行,用那个病音的也行,因为你用病音的,它new病的时候,它也自己能转型。啊,这后面我们要讲那个类型转化,它自己能转过去,如果说是纯数字的话啊,你当做那个in,就是long类型来用也可以啊,用spring用都行啊,就是不会用哪个时间戳啊比较比较方便一点,然后还说了他说这里边的啊,相当于数据库的落差,理论上可以存。2G的数据。但是很少存到两只药。因为你想想看,如果真的有某一个字段。
04:00
两个G,而且是一行数据里面,那这个东西怎么用啊,对吧,啊没法用,而且都是一条一条日志,日志呢,在生产环境当中,我们一般都是2K都2K的这种比较多,就一条日志产生出来2K。啊能懂意思,2K,所以呢,一个字段说两个G,按理论很大这的值,也就是说你要想用四内存的话,怎么你那个日志都能存在下。啊,怎么都能存的下,因为它理论上可以存储两个G嘛,啊是这个意思,好之后呢,我们需要了解一下是这几个这几个呢。你需要知道,然后呢,用的时候呢,会用就行了,而且这个东西其实用的并不多啊,并不多第一个。Struggle。有学C的吗?有什吗?结构体是不是对吧,它里面结构体的包裹一下,里面可以定义很多的什么复杂结构吧,啊就包裹起来了,哎,那这个汉当中有。啊,Have当中有啊,这个东西呢,你要知道一下,好,接下来have有map跟这两个同学大家都清楚吧,好在have当中呢,之间有这两个类型。
05:08
有数组,也有麦。也有脉法,但是这个用法呢就不一样了,因为数组里边这个地方了,你数组放到文件里边一个数组是一个列,对吧,有有什么有分隔符,它不像我们加法当中的数组说你。添加数据,添加数据就完了,这个地方呢,因为你最终数据是不存在,文件里面一定有自己的什么。分隔符,也就建表的时候,不光字段的分隔符,还要有什么数组的分隔符。数组的分割符是这个意思啊,那我们直接就看一下怎么用啊,其实这个东西呢,在生产环境当中用的比较少,如果真的你生产出来日志,它本身是一个什么数组,是是一个什么卖画,我们会用自定义函数对它进行处理,处理这种扁平化的数据能听懂。就是现在假如说生产出来的数据啊。
06:02
它本身是一个数组,数组里边假如说五个字段。对吧,我们会用什么。自定义函数对它进行处理,处理完之后我们把它变成五个字段,或者把它变成五个行来做这个事。来做这个事,而不是说直接非得对他建成一个数组类型。啊,这也就是说这个东西它能支持,但是呢,在生产环境当中其实很少用,因为它比较复杂,它用起来比较复杂啊,不像那个直接一个spring非常简单,我们可以把整个的变成一个S命啊,或者呢,就把它变成一列啊整个的你不有五个字段吗?我把它变成五行对吧?啊,放在一个列里边啊,这个呢都可以啊,都可以,那但是呢,我们稍微的看一下这个怎么用。啊,怎么用一个假设生产环境当中有一条这个数据。这是阶层格式吧,对吧,其实现在用阶层格式越来越多。啊,越来越多的一个阶层格式来看一下,注意的点就在于哪啊,这个是阶层格式的数据,但是直接把这个数据拿过来不好意思,Have解析不了。
07:06
他有一个特殊要求,就是你have要想解析这个监测数据啊,你必须是什么在一行。必须是一行,你不能跨行,你一个大括号,然后一个那么一个送送。对,就是康师傅对吧,康师傅送送对吧。啊,这都是那个老师啊,啊呃,松总对吧,你不能说第一个单号,然后一个那然后一个松总这个东西还解析不了,也就是说假如说这个东西直接在文件里边藏着,Have解析不了。你必须是什么一条?啊,放在一行把它压平了,就相当于啊压平了,但是真正的杰森这样好看一点嘛,如果真给你放平了这个东西你都不知道它是什么东西了,是吧?啊就是杰森,但实际数据呢,在这我们看一下最后一家平均是这样。
08:00
啊,两条数据。两条数据,那这里面注意一下啊,就是第一个。送送名字对吧,然后第二个呢,好友。冰冰和丽丽是吧?那宋总也挺喜欢海口人参丸的是吧?你们上那个王老师给你们讲过,那第一个那边对吧,不讲吗?宋老师带过你们三大爱好,你知道吗?啥呀,现在爱好啥呀,按摩泡脚去所这你都知道,你知道太多了,小心松松过来灭口。好,这个是他的好友对吧,啊冰冰和丽丽啊,冰冰和丽丽,然后还有呢。小宋、小宋、小宋和小小宋。
09:05
有人发现了关系,什么,这个关系不是我说的啊,然后住在那个回龙观。回龙回龙观北京回龙观住住址吗?住址,然后第二条数据杨洋老师对吧,然后猜测苏苏。诶,你们有那个这都这三个咨询老师呢,你们可能有人是。有,有这几个老师的学生吗,苏苏。啊,洋洋太太,然后还有小羊小小羊是吧?啊这个无所谓,然后他住在朝阳对吧,两条数据,两条数据,然后我们怎么去规划呢?首先以逗号隔开的,直接是一个列。能听懂,也就是说第一个列叫内。第二个列逗号隔开,看到这吧,这个中间这个列呢叫friends。好友对吧,啊朋友,但是朋友。
10:01
这个朋友啊,两个是不是也可能有多个,假如说我再来一个,那朋友呢,我们用什么。下下划线分割的对吧,用一个map或者用也行啊,就是要用到这种复杂结构了,你因为这是两个人,你不能说。冰冰是发现丽丽是一个人,这不行吧,啊,两个人要区分开,要用的复杂结构,好,接下来还有这个。属性。嗯。对吧,哎,刚才呢,我们看到冰冰跟丽丽两个独立的,是不是可以用放在数组里边。接下来是小宋18岁,小小宋19岁,是不是应该反了呀?那这个东西要用什么?这是KV形式吗?要用什么来算map,而且呢,它是不是也有多个map里面是不是也可以存多个数据,对吧?好,最后还有一个,诶回龙观北京。不,北京就是地址address还有城市啊这两个东西,但是他们俩呢,有没有什么rra啊等等这关系,他们俩不是平级的是吧。
11:06
不是平级的,也不是说什么KV形式。也不是特别形式,那这个东西呢,我们用一个结构体。啊,用一个结构体,所以它这个建表语句现在变成这个样子,来看一下前面我们刚才说了,用逗号隔开的都叫字段,有哪几个字段那。Friends。然后。地址没问题吧,好,然后定义的时候呢,注意name string型这个没问题吧,第二个我们说了,当时我们说了它用数组,第一个数组,数组里边泛型要给吧啊四这类型的好接下来这个地方我们当时分析的用什么脉结构。啊,用map结构最后一个,这两个呢,它没有什么关系,所以用一个什么struggle的街道和城市。街道和城市啊这样来定义的,当然这个地方你可以定义一个什么。在这我再来一个卖号都行。
12:02
研究这我再来一个map都可以能懂意思,因为它这个结构体,结构体它本身就会包含很多那个什么复杂结构。啊,复杂结构学过C的可能对这个结构structure这个东西理解的要好一点啊,理解好一点,也就是说它里面可以听到很多复杂结构,如果说你这个数据比这还复杂,就是假如说你这个街道啊,它不是一个简单的街道,它这个街道呢,还有多少号,对吧,还是么单号还是KB,那我们这个里边是不是还要写一个卖环,就是这个类型,我可以改成什么。卖能不懂意思啊,讲到这个。好我就用,诶等怎么到这了。在这个这个啊,基本说的类型在这。放在这,然后接下来继续往后走,这只是第一字段吗?啊,字段的类型第一,只不过说这个,只不过说它比较特殊一点,它是它是麦。啊,其实定义的时候跟我们所写的three,跟我们所写的in没有任何区别。
13:00
对吧,但是你要注意的点就关于这。第一个这个逗号是不是要定义一下。这是书我们说的S字段的分割符,昨天我们写了role for什么delete的,然后后面是fields termin by,昨天我们写了一个更替,对吧,那这块就要改成多放好,那接下来问题来了。你看你这个数组。天然的数独,我知道你是拿下划线分割的,就两个数据,不知道是不是也要指定对吧?那接下来这个map呢。我知道你拿下划线风格的吗?是不是也不知道,不是也要指定对吧,还有这个。对吧,啊,这些东西你都要来指定啊,你都要来指定,那我们来看一下第一个。你把它分开看啊,假如说我把这个。Form limited这个东西叫行格式化的一个限制,对吧?这个行里边有哪些东西需要限制?
14:00
这个是我们最熟的。逗号。对吧,啊,用逗号分割的啊,逗号分割的好,那接下来是这个问题。Connection to带。集合类型的,那这个你要注意这个集合类型包括我们看到的和map。卖报是记号。卖多个数据之间,就是说你这里边不有小宋跟小小宋不是两个数据吗?这两个数据同归他管理。归这个管理好,接下来你这个map里面是不是有KV啊。KV只用ma kiss他们内的版。冒号。来分割的。来分割的,而且这个集合也包括了我们的那个最后这个。结构啊结构它都是集合,因为这三个都是我们所说的叫什么类型。
15:03
集合类型好,那你看到这一块,就看到这个东西,我说了这个东西一下子就定义了瑞卖跟。它多个元素之间的分隔符,好,那你现在告诉我,如果说我在一个表里边应用了。多种结构,也就map有一个什么前提?一分割符要一样能听懂,因为它在建表的时候,定义的时候,它不是说我可以定义它的分割符是什么样子的,然后呢,这个ma中间的元素分割符是什么样子的,然后呢,Structure的中间元素分割符是什么样的,它不能定义。它不能定义,它只能定义一个,也就是说这三者都叫connection,假如说我这个里边只有同样的,是不是也要这样去定义。能听懂啊,也就是说你假如说你要数据要处理用这种复杂结构的时候,而且你假如说要用到多个,你首先要对这个数据做什么。
16:05
格式化处理要必须把他们那个分隔符变成一样的。变成样了,要不然你没办法建这个表,假如说这块呢,我不是这个,我是什么,我是中杠对吧,假如说我把这个改成中杠。那完了你这个建表语句之后,那它就把它们变成什么。一个整体了,它就分不开了,能听懂这个意思吧,啊这是这个点啊好之后呢,就是因为ma kv类型嘛,所以呢,这里边你要对它进行一个什么。区分啊,再次区分,也就是说第一个connection定义的是。集合里边多个元素用的是什么分隔符,然后对于map它这个元素它不一样对吧,它这个元素呢,它里边照样还是有两个吧,哎,还有一个分隔符,所以说脉要多指定一个,多指定一个,最后你看一下叫lengths特的这个的这个东西呢可不行。
17:01
因为默认就是什么杠N啊,默认是杠N啊,可以不写,那我们把这个表给它创建一下C-Y。走一下。然后呢,我们把数据准备一下啊,OBD module,然后这个。呃,然后再VI一个。嗯,这个东西叫什么呢。叫送吧,那就叫送。叫送送点KT啊走入,然后把这两条数据给他拿过来对吧。哎,两条。保存退出,然后呢,我们把数据加载进来,加进来漏data in对吧,然后是OPT model。然后有一个送送点啊,然后是into。Table,然后是这个叫test是。
18:04
然我们先查一下个这个吧。来看一下。整个一个结构。对吧,它数组。就数吧,这个是我们要的那个什么。Map map最后一个结构体也是这样的。这的,然后有一个什么city啊,一个城市,那city跟这两个东西是在哪定义的,见表的时候定义的。对吧,啊,有两个字段嘛啊,见表的时候来定一表,见表时候来定一表,好,这是我们用的一个C心查出来的,假如说这样,我现在就要。对吧,我只想获取这一个数据,那有同学知道,首先我查friends是不是可以。假如说我查对吧,From这个test。
19:01
他是不是查出来这两个,现在我只要列苏苏只要后面。对吧,那这个在Java当中数组怎么访问,是中括号加角标吧。中国加角标。对吧,啊,其实它数组呢,跟Java当中那个访问方式也一样,那你也访问那同样的它,而且我们看出来是从零开始的吧,对吧,哎,零就是冰冰跟猜。啊,是这个意思,那这是数组的访问,那还有这个map是不是。Map,诶map在那个这个当中,假如说啊这样我还是select这个东西叫children对吧,我直接这样查肯定没问题。对吧,呃,From那个,呃,Test对吧,Test好这个东西肯定没问题。好,但是map这个东西。在Java当中怎么访问?
20:01
通过K来访问Y6调用的方法叫K,那根据刚才这个数组的一个理论,我们想着我们试一下对吧,是不是应该有一个什么get。然后传一个什么东西,假如说小宋可进去,对吧,报错了,那说明不是量好。对吧,哎,也就是说这个ma呢,有一点区别,有一点区别,但是数组是不是刚才看到一样,来看一下这个地方。跟什么东西感觉很像啊?跟数组吧,只不过说这个跟数组的区别在于,数组呢是传的是角标,而这个地方传的是T啊,传的是K,那我们来访问一下。就这个呢,需要稍微的记一下,但是数组你就不用刻意的去记,对吧?啊,因为一样啊,因为一样,呃,这里边有一个小宋是吧?走18第二个列里面没有小宋,没拿到这个地吧?啊,因为第二行还有一行嘛,是那因为它里面没有小宋。
21:11
啊,没有小松啊,其实这个东西呢,也可以作为过滤条件。啊,你放在过滤条件里面也行啊,好,那继续还有最后一个结构体的,结构体的访问就这样。他是哪点的。你结构体里面不是定义了两个属性吗?一个街道一个城市对吧,那就可以用点来访问啊,用点来访问来看一下,那这块呢,Select,然后我们结构体定义的那个叫。不。点city,假如说我们看城市是from这个test走啊,两个城市都是北京啊,也就是说它三个的访问方式。访问方式啊,当然你直接把整个列拿出来,这肯定没问题,但是呢,他给你多了那个什么中括号这些东西吧,啊不好下接下来处理,因为你有学过什么那个sum等等这些具有函数来对这个中个号进行处理吗?
22:07
处理不了对吧?啊处理不了,那这块呢,就可以把里边某一个元素给它拿出来,那你要分开记跟map怎么拿。都是用中括号,但是呢是零一角标对吧,这个呢是K,然后还有一个是strong是点对吧,点跟上属性名。对吧,因为你在的结构体里面定义了有很多的一个属性啊,你具体的访问哪一个属性点属性名就OK了啊,属性名就OK了,那这块东西呢,大家可以自己呢,在搞一些什么其他的例子,做一些测试啊,做一测试,其实生产环境当中像这些东西啊,呃,用的很爽。特比较少,因为它它太复杂了,我们一般呢,会把它简单化去处理啊,简单化处理,但是你要知道,真的如果说这个东西你不想简单化处理,或者说简单化处理起来比较复杂,没有这个数组啊,脉网用的方便的时候,你也能想起来它是支持什么。
23:06
这种集合类型的啊,它是支持这种集合类型的,这你要注意一下。
我来说两句