00:00
好,我们连接上Fi之后呢,自然而然的我们想知道这个东西怎么去用啊,那这里面呢,又涉及到了一套新的circle语法,你说应该怎么去用呢?哎,你想让我在这个地方啊,给你介绍清楚是不太现实的,那语法呢还是比较复杂的,那对于这种呢,你只要有circle的基础,像这些东西呢,都没有必要再学一遍了,可以干嘛呀,直接查官网啊,你对应的把这个地址一复制到这边呢,一点开CRV粘贴。进入到我们这个Phoenix页面的一个语法页面里面,诶,你想要执行哪个命令一点你就知道了,太方便了,对吧?啊,这没有必要再去进行一个复杂介绍了,里面呢,也会有我们,哎之前呢,在学have啊专业的一些语法里面。还有的一些函数,比如一,三。对吧,啊,执行计划啊,别的一些呢,都会有啊,直接来使用就可以了啊好,当然了,咱们要去演示的话呢,还是要介绍一些基础的命令的啊呃,一方面这个展示所有表已经给大家看过了,感叹号table,那我们自然的就有创建表和呃写入数据对吧?这些基础的操作呢,要首先呢第一个。
01:11
直接创建单个列指定为RK啊,这里呢,你一定要注意啊,Penix创建的表呢,因为它底层啊是存在h base上面的,一定要有r key啊,一定要RK,呃,对应的呢,就是我们表格的主键primary k1定要有主键,这个主键呢就会被转化为这个R啊,我们直接来执行一下这个建表语句啊,这建表语句呢,没什么好讲的,跟别的circle呢区别不大,创建一个table,如果不存在表名叫student ID是主建挖char啊,这个挖char呢比较特殊啊呃,这个挖char呢相当于是string,相当于have里面的string啊,就是类型不一样嘛。呃,在MYS里面好像也有挖欠,但这个挖欠跟MYS挖签不一样。My circle的watch是有长度限制的,这个地方其实是对标string,没有长度限制啊,Name watch char edge big in啊,ADR,这我们只是一个演示啊,不是说人真的能活到big in,这有点夸张啊,哎,也可以用啊,也可以用好,这是我们键表啊,我们CTRLC。
02:10
来到我们对应的这个,呃,命令行里面粘贴啊。好,稍微等他一下啊。因为它需要操控底层啊,所以它建表的时候呢,还稍微有一点复杂啊,啊建表完成了,花了我六秒钟的时间啊,感叹号table执行你就能看到这里面我们创建了一个表格叫student,诶创建完不是问题,问题是什么,它好像变成大写了,我们写的时候是不是写了一个小写的呀。点的是小写的,结果它变成了大写,会不会是这个页面显示的问题呢?还说这个表名真的被它改成了大写的呢?哎,那你这个地方看呀,它不准,哪个地方准呢?底层h base的表名是比较准的,他俩表名肯定是一样的,对不对?你来到102这边对应的呢,我们进入到h base的shell里面啊,你看一下这个里面的表你就知道了。
03:05
好,我们进到这个HSHE里面啊,我们只需要输入命令list执行,就能够查询我们这里面所有的一个表名了,对吧,你可以看到它比之前呢,多了一大堆system,也就是Phoenix的一个表,当然这些不是重点,我们看的是它,哎,是不是有一个表名叫student呀,并且它是大写的。啊,并且它是大写的,那就确定了啊,这个底层的表啊,真的会被写成大写的,这是Phoenix的一个特点啊,它会默认将这些表名和列名,其实列名也是大写的啊,表名和列名都转化为大写,如果你想要人为的小写的话,你需要加双引号啊,需要加双引号,比方说双引号student啊,咱们这里呢,可以把这个命令再复制一下啊,你不要复制,最后那个回车你就可以改了,改成C。来到菲hoi那边粘贴啊,再复制一下它这个有优化啊,可以摁上,这个是设计的,我我个人认为设计的比较好的,这个circle的一个写行了啊,可以摁上加上双引号。
04:01
看你看加上双引号,然后我们回到最后一行,再回车执行啊,它就可以创建这么一个表格了啊,第一次比较慢,第二次就快了,对吧,一回升二回熟感叹号table执行,这里面就会多一个小写的一个表,看到没有啊,你得加双引号才能把它变成小写,列名也一样啊,列名也一样,你可以用基础的查询语法来看一下。Select星from student啊,如果你不加双引号,这默认查询的是那个大写的student表是这个啊,执行。哎,读取过来可以看到这是主键对吧,被它标成蓝色了啊R。A name age a drr啊,它全部都变成了大写,这它默认的一种情况啊,创建表格会默认变成大写,好这是第一种啊,叫指定一个表,单个的列,作为它的一个RK,可以看到变色也只变一个,那除此之外呢,你还可以指定一个组合的RK啊,因为我们之前已经讲RK设计了柔,里面通常都是有多个信息的,对吧,那就使用这个啊组合的一个柔,OK,我们可以把这个命令呢,给它搞成C,复制一下来到这边粘贴,可以来看一下啊,它就一条语法不一样,前面都是固定的一个信息,这里呢,一定要写上不为空,不为空之后呢,最后它拼接我的主键,主键呢作为它俩拼接在一起,对吧,我们来执行。
05:19
分号执行啊。执行完之后它就创建成功了,你用感叹号table能看到这个表啊。还是一个大写的一对吧,然后select。行from随一执行,可以看到它两个都变颜色了,这就是联合主键啊,都是能够对应上的啊,这是我们基础的一个键表语句啊,基础的一个建表语句,这个建表语句里面呢,还有一个细节的信息,就是你在h basex建表之后啊,它会在Phoenix呃Phoenix建表,会在h base创建一个对应的表,但这个表呢,里面的列名都经过了编码的处理,哎,在前面在前面我们讲这个官方使用所册有说那个列名啊,一定要尽量的短,那penix就做到了极致,它把它做到最短啊,直接给你编码,用一个一个bit的数字来表示啊,用就啊不是一个bad啊,是很短的一个数字来表示,具体多少位你要自己去控制,这里面有这个BAT的一个个数,对吧,那我们想要看底层的一个存储呢,你再往里面插入一条数据,一条数据没有肯定不行,对吧,我们直接执行这个插数据,这个插入数据的命令啊,很有意思啊,叫upset,什么叫upset,这不是一个英文单词啊,Up拼接音。
06:32
连二合一功能也是二合一这个对对标我们呃菲hoenix里面那个po好二合一啊好,我们把这个命,呃把这个插入数据上命令呢,给它复制一下来到这边我们粘贴分号执行。把张三这个人啊,给他插进去,你首先呢,在这个地方PI里边是能查到这么一条student。是能查到对应的这条数据的,那对应的这个底层呢,你也可以查到,咱们直接简单粗暴一点,直接扫描对吧,一定能查到的啊student啊,这个写错了,应该是大写的啊。
07:09
好,扫描一下就可以看到了,对吧,这里面呢,有它的张三,因为这个是big in,所以我们可以看到它的这个,呃,经过编法之后呢,是一个序列化的一个东西,看不懂啊,底下呢,是北京字符串能看懂啊,字符串能看懂,好这就是对应的这一行的一个信息,它有两点啊,首先是这个列门的问题,对吧,列门确实是经过序列化了,这个零冒号是它的列足啊,零冒号是它列足,你可以DC。大家看一下啊,叫DECIB。双引号啊,双引号。大家写的ST双引号执行啊,这个列足呢,确实是,呃,这个零啊,这是它列足后面这是一个数字啊,这个数字呢,就决定了它的一个呃列名,这是列族名的列名对吧?啊列足名够短了吧,列名也让你够短,它这里呢,主要就是为了节省空间,因为每一个cell都会写这么一遍啊,你把这个空间给节省了,底层能节省很多啊好,那对应节省的信息呢,我们可以到这个对应的网站上啊,这都是官网的内容,我们只是给它把具体的网页呢也给它找出来了,你这样方便一点嘛,也可以来看一下啊,这个是怎么样进行一个对照的呢?啊,这里面有你去调那么一个参数啊,呃,这个参数呢在这儿,这个参数呢,可以写值1234啊,1234 1234或者零啊,这个那也可以啊,那是不限制它的一个大小啊,一般呢,还是限制一下啊,它默认值呢是二二是两个BAT什么意思,用两个BAT的数字。
08:39
来存储对应的一个列名关系,存储的这个对应的列名呢,比方说我用数字零一来表示name,怎么样用零一来表示内么呢?你把这个东西要存到单独的一张表里面,零一表示内存到一个单独的表里面啊,然后你在使用往里面写的时候呢,你直接写零一就可以了,什么怎么样知道它内查这个原数据表嘛,如果你使用两个be的数字呢,它对应的呃值的是65536,这个值其实应该是65536啊,它有一个数呢,不让你用啊,有一个数不让你用啊,他自己去用了啊,他自己占用一个吧,对吧,如果是你给它改成一的话呢,只能使用255个数啊,同样道理,有一个他用了,那就是255个列啊,我们这个数据呢,可能列比较多啊,所以它默认使用的是二六万多个列,那六万多个列基本上就够用了,所以你使用它默认的就行,那你说我不想要这个优化,我就想要看懂这个数据行不行也行,你把这个参数改成零就行了,零表示什么,用零和BA去存,那没有这个说法啊,它自然的。
09:39
就放弃这么一个优化了,那我们也可以来操作一下,对吧,怎么样让他不去执行这个优化呢,后面拼接这么一行代码。就可以了,我们把它改一下子,再创建一个STUDENT2这个表啊,我们把这个东西呢给复制一下,不要复制最后分号,不然就执行了。粘贴,然后在最后的时候呢,我们把这一行代码啊,改这个参数也粘贴过来,最后分号执行,它也会创建这么一个表,对吧,我们再来调到我们的这个往里面插数据啊,你往这个student,呃,啊,这个执行错误了啊,我们再找一下这个创建啊,这个是correct if not exist,它已经存在了,不会创建的啊。
10:18
写个二。然后回到最后一行回撤。怪不得它速度这么快,对吧,它没有创建啊,好对应这边呢,我们就创建出了一个表叫S2啊,你用感叹号table啊,这个小写的table啊。改到推后能看到有一个尺寸的二表,我们再用插入数据的这么一个命令啊。这边呢改成STUDENT2执行好把这个数据呢也写进去啊,你在Phoenix里面去查的话呢,它是没有区别的。它是没有区别的,它都会去解析这个列名,但是你在H里面查它就有区别了啊,我们扫描这个二,你可以看到这个列名就给你原封不断返回回来了,为什么有一个数字不能用呢?它要专门存一个东西。
11:06
啊,存一个东西,那存在这个东西是什么呢?其实这个就表示单独一行啊,表示单独一行存这个东西呢,主要是为了这个买SQL里面会有一些SQL里面会有一些奇怪的写法啊,它为了去对应那么奇怪的写法,你看你在插入数据的时候,它只有主键是不能为空的,也就意味着我可以只写一个主键,对不对。写一个1002嘛,你执行,你去读这个表,你会发现它是可以读的,对吧,别的地方都为空啊,别的地方都为空好,那对应呢,它底层是稀疏的,为空的,没办法存,所以它只能被迫存这么一个东西了啊,那不不能,这后面那个值不能为空,对不对,一定要有列啊,它只能存一个下划线,零表示呢,它们不是一个列啊,不是一个列,这个X只是一个占位符,对应这一行就是对应我们买菜扣里面的。这一格啊,就是这个意思,好,那这里呢,就是我们使用这个Phoenix一些基础的操作啊,这些查询删除都跟你别的circle呢没有什么区别,咱们就不演示了,最后退出呢,叫感叹号Q,你就可以退出这么一个命令行了啊。
我来说两句