00:00
之前我们是讲一下这个整个表的一个创建语句,接下来我们就一个一个的把它剖析开,剖析开,首先我们要讲的是它的一个。管理表和外部表,其实管理表啊,也称为内部表,内部表就是这个管理表啊,被称为内部表,因为是要跟外部表做一个对应嘛,做一个对应它是由这个关键字吧,External,哎,你不加,你默认的它就是内部表,也就是管理表,如果你加上一个X,它就是外部表,那我们需要知道的这个管理表和外部表啊,它有什么区别吧,他为什么一个have里面还弄成两种表,那内部表外部表我们来看一下,首先我们看到是那个管理表,你就是内部表,这种表呢,Have会认为啊,它控制着整个数据的一个生命周期。
01:02
是什么意思呢?在这注意红字,当我们删除一个管理表的时候,Have也会删除这个表中的数据,我会删除这个表中的数据,来看一下我们用be have吗?不起那个汉so do服务了是吧?昨天我们所创建的表是不是全都是内部表啊,因为我们并没有加那个X这个关键字是吧,OK。说table这个里面有没有数据,有数据是吗?啊有数据的对,而且这个表我们是不是能看到他那个位置在这了,他数据是不是在这,现在我们要干什么事呢?就是把这个表做不掉,现在这个表已经没了。
02:07
对吧,那你在受table的时候,Test肯定是不见了,这个地方你test你受tables看不到的时候,说明原数据信息肯定没了吧,原数据没了,那具体的这个文件还在不在呢?在吗?怎么可能还在,这个表都没了,连这个文件夹都没了,连这个文件夹都没了,太都没了,他就不在了,不在了,那有的同学有一个疑问,刚才说在的,肯定能想到是昨天那个情景。德比转到MY之后,我们直接创一个表,能查到数据,对吧,你肯定是想到这个事情,我要讲一下这两个的区别啊,区别啊,昨天我们那个情况是这样的,你首先我们原数据信息是保存在德比数据库里面的,后来我们转移到MY斯克里面的,这没问题吧,德里边我们干了一些一系列的事情吧,创建了表。
03:09
加载了数据对吧,干了这个事情,然后我们查也是能查到的,这是没问题的,而且你创建表以后,我们到这来看表,这个文件夹存在的是不是这个文件夹是存在的,OK,那你在加载数据以后,你再到这个文件夹下看是不是多了一个文件啊。对吧,多了一个文件。然后所以你能查到,哎,这是没有问题的,这一列都很正常的,之后我们是把原数据换了一个地方存,换到那里边去存,但是MYS里面是我们新创建的,它不可能有刚才D比对应的这种元数句吧,它没有吧,也就是说当时我们查了一下show一下table,所有的都是空的是不是,但是当我们创建了这个student的表啊,就是跟这个表明表结构创建了完全一样的时候,那我们直接查的时候能查到吗?那是因为我们只是把原数据,这个原数据啊跟这个表的内容啊都还在,你想想看,你只是把原数据的位置换了一下吧,原数据删没删啊,没删吧,德比里边如果你现在换成德比,你把它改回去,你那个表还在吗?
04:27
你这个数据你有没有删啊,没有删吗?哎,是没有删的,就是说当时咱们换原数据存储规则的时候,这个文件是还在的,文件没有丢,但是跟刚才的那种情况不一样吗?刚才我们是做了什么操作,而且这个照照的是内部表,你要注意这个问题,照是内部表,内部表他的特点是他认为自己控制着数据的生命周期吧,它在删除管理表的时候,它是原数据和数据的一个文件,我们应该可以这样说,它的一个原数据和原数据对吧,这两个东西啊,原数据就是那个表结构对应的对应关系,然后这个原数据是不是那个file啊,哎,他把这两个东系同时都删除了,同时都删除了,所以说这个文件就不存在了,跟昨天那个情况,你要做一个对比区分。
05:27
嗯,这是不一样的,昨天是并没有删除具体的文件数据的,具体的文件数据的啊,然后具体的创建一个表啊,我们还有其他的方式,首先你create table什么student这个是不是可以啊,啊,我们都做过了,然后我们还可以通过这种方式,My circle里面也是有的,来看一下啊,Create table student1student1as select做没做过,做过吧?Select新from一个student这个表走你这种方式。
06:11
过来的,它除了表结构,还可以把什么数据也给复制过来吧,通过这种方式来创建表也是可以的,你看这个此时它现在它虽然也是C星,但是他还是走的是马肉吧。他有他是有一个属性控制的,我们可以把这个属性。给关掉以后啊,它是对于任何语句都会走那六任务的,就你select星它也会走啊,正常的,你看它默认情况下select星是不走的吧,因为他没有必要啊,他觉得没有必要,那此时我们查一下这个STUDENT1,它也是能查到这个数据的,就数据跟表结构都一样的,那还有另外一种方式,Create table,然后STUDENT2叫耐克。
07:08
Like这种方式也可以吧,LIKE1张表,那这种方式创建的表是什么结果,只有表结构没有表数据吧,只有表结构没有表数据,那我们select t from一个STUDENT2这张表它肯定是没有数据的啊,它是空的,但是这个表已经存在了,哎,它只是复制表结构啊,并不会复制一个表的一个数据数据,昨天我们查看表的具体就查看数据库具体信息,用的是DEC吧IC,那我们查看表呢,也是一样的,那我们看一下这个student这三个表我们应该都是内部表啊啊都是内部表,因为我们并没有在创建的时候并没有加ex这个语句,这个关键字走一下D。
08:06
哦,对,这个杯子要做一个区分,要加对吧,直接这样看的话,是不是他的只有些什么字段啊,但是我们并没有看到它什么内部表外部表对吧?那我们想着看昨天是不是有什么详细信息可以查看呀,Extending对吧?但是这个表呢,我们来试一下吧,DC,然后exd吧,走他这个信息啊,我们大概能看懂一点,它是什么,有location嘛,是不是跟那很像啊,然后有它的一个什么input for用的是哪个类对吧?什么out put for用的是哪个类。啊,就是你默认的,这都是默认的,但是并没有看到它什么内部表外部表那种情况吧,啊就是这个权限什么表明数据库,然后它的一个拥有者,这个信息就是X圈上看出来信息,跟那个查看数据库是不是很类似啊,对吧,但是并没有看到我们想要看到什么内部表外部表的信息,它是用另外一个关键字for matd啊,Form啊,查看它的一个格式化的一个信息看啊,首先这上面还是它的一个列吧,啊列信息你通过DC是可以查看到一个简简简单信息的,你看这边是什么详细的一个information嘛,它的一个数据库,用户者来看这。
09:48
表的类型是什么?Manager的table哎是管理表,管理表是管理表,这个时候你是可以看到它是一个管理表,就是你默认创建的都是管理表,或者我们把它称为内部表是吧,内个因为跟外部表做一个区分,外部表做一个区分,你需要知道的就是我们默认的创建的是一个管理表,第二点就是你删除管理表的时候会删除什么?所有的数据吧,原数据信息跟具体的文件信息都会删除掉,就是连表那个文件夹全部开掉了。
10:27
全部干掉,然后还有一个问题。创建数据库的时候,你是不是可以指定数据库的一个位置啊,创建表的时候是不是也可以指定位置,可以指定位置啊,这块是一样的啊,是一样的。这是我们所讲的很基本的一个创建表的语法,基本的创建表的语法,而且是内部表吗?内部表最简单的一种方式,连这个关键字都没有了。
我来说两句