00:00
呃,刚才这个创建用户创建这个。授权之类的没啥问题是吧,但是呢,是强调一点啊,就是你创建出来的这个文件。这个文件不要删啊。一删的话,你可能它就占十兆空间,你可能建错了强迫症这个名啊,不好看,我想重新创建一个,重新创建一个就重新创一个,但是原始这个东西别删。一删的话容易导致数据库出现一些内分泌的紊乱,是吧?啊,你一删的话容易导致数据库内部结构会破坏掉好吧。放在这就放在这儿,十兆空间浪费不了多少地儿。OK。记住了,不要删,不要删。好吧,好,接下来呢,咱们就进入头一次。是数据库安装到11点就装完了是吧。之前一般安装数据库,到下午都装不完。那咱们还挺快哈。
01:02
好了,接下来呢,咱们就说说真正的数据了啊。数据库中,它是用表来存数据的。记住了数据库中的数据以什么形式展示给大家,它是以表的形式展示给大家。数据库中的数据啊,以表的形式展示来展示出来的。呃,数据库呢,就是数据的仓库,然后数据库中包含的是表关系对象。这两个以后再说,首先把重点往表上看。哎,数据库中它就是一张表,两张表三张表,这张表中存的是数据哈。好了,再来看一看。首先就随便的搞了一张表啊,截个图给大家看一看就是数据库里边存数据就长这样。数据库里边的数据长成什么样?长这样?
02:02
哎,这是咱们使用了第三方工具是吧,使用了透的会长成这样,如果不使用透的的话,长成什么样呢?一会儿我会给大家让黑窗口看一看好吧。好,这个表格啊,它有行有列。哎,有行有列。对吧,这行呢,表示一条记录。表示一条记录,而这个列表的是这个表的这个字段,对吧,这个字段。姓名,这个列装的全是姓名,民族,这个列装的全是民族。必须得对应上啊,对应上。这个玩意儿,其实如果你用过Excel表格的话,玩这个应该就差不多的。Excel就是这玩意儿吗?好,这里边儿呢,我也是给大家截了三张图,三张图里边可以装一些什么什么表。
03:00
对吧。哎,什么什么表第一个什么用户编号,用户名和会员号是吧。然后呢,学号,然后是科目。以后数据库里边的数据就长这样,就长这样。先看一看哈。好了,然后在创建表的时候啊,咱们要往数据库里边存数据。对吧,首先你创建表,在创建表之前必须得指明各个列的数据类型。咱们学Java学变量,学变量之前是不是得学数据类型啊?在这里边儿的数据类型也有,数据库中也有相应的数据类型。但是你学过Java之后啊,你再看数据库的类型大同小异。差不多,只不过是换个名。换个名啊。来。这里边儿的一些数据类型的一个分类哈,有字符型。数值型日期和数据类型,这个叫LB,叫大数据类型。
04:06
大数据类型。之前我说的存一本天龙八部用啥存就用这边这个存。好吧,但是呢,现在呢,用大数据类型一般不太用啊不太用,为啥嘞,真的得学大数据你才知道,因为大数据那边有专门的大数据处理体系。来搞这个东西。好,首先咱们看数字类型,这篇PPT我已经给大家示例呢,给大家看的很明白,再来看一看啊。第一个数据类型叫number,我多直白是吧。刚开始接触Java的时候,搞出一个int,那是个什么东西?这是。而现在数据库中直接就是number,直接翻译单词就知道啥意思,数字对吧,数字。它就是数字类型,类似于Java中的,并不是int,我这写的是double,为啥嘞?
05:01
你得明白int和double谁的范围大呀。肯定是double是吧,也就是说double包含int OK吧。好,所以这里边儿他用的是double啊。这那那么这个number数据类型呢,它有这个括号,一看这括号想起方法了是吧,它有几种参数哈,首先第一种,如果我这样写成这样的数据类型,它表示的是。两位数字。能知道这二啥意思了吧,表示的是位数两位。两位数字。OK吧?下一个如果我传两个参四逗号二表示啥呢?两位数字,那么这个是什么意思呢?小数点后两位。你看这写的什么?就满足了这个格式,这个四表示啥意思啊。整个是不是四个数字啊,1234嘛。
06:00
表示四,而这后边这个二表示啥意思嘞,小数点后两位。OK。只是这个四和二的意思。然后如果后边我什么这个括号小括号什么都不跟,那么它就默认是38位。38位,38位能存到多少数字?呃,不会读了是吧。会读吗?不会读是吧?这个数学里边是不是有科学计数法了?对吧,哎,默认38位啊。好,然后呢,这里边又出现了还是两个参,那么第二个参为负数,你看。能理解吗?三表是啥意思?整个三个是吧,一共333位吗?而负一表示啥意思。往回倒是一位是吧,那倒是一位的话,那这个位数怎么办呢。舍去了。把这个值舍去了,变成零。
07:00
变成零。或者说129,如果用这个数据类型来存的话,那它就变成了啥呀。还是120还是120。OK,这就是复数的意思哈。然后呢,再在咱们这个Oracle中啊,也有int是吧,Int是其子类。Number是其父类。这个是子。那么这个int相当于是NUMBER22位。NUMBER22位。这篇PPT最后呢?总结一句话。以后用数据类型只要和数字相关。甭管什么钱啊,年龄啊,什么圆周率啊,一点几二点二点几的,清一色的用number OK。你认他,你忘了他吧。
08:00
数据库中忘了他啊。只要数字就是number,就是number。如果整形,比如说年龄没有说什么12.8岁的是吧,就是12岁,那你就用number一个餐OK。如果你非得比如说金钱,我这个月挣了五块八。那这个点吧,你想怎么表示,你就可以用两个参。所以在咱们今后的数据库操作中,用的最多的就是前两。就是材料。好吧。这两个听清了吧。OK,再往后来啊。然后接下来说这个字符串,这个字符串的内容稍微多一点,我给大家多捣鼓捣鼓啊。这个字符串啊,在咱们数据库里边,它用窝差二来表示。啊,这是什么鬼是吧?刚接触刚接触,我也很恶心,死string就是string呗,用的多好。
09:01
他非得来个我差二。哎,我叉二它叫什么呢?它叫变成字符串类型。OK,现在来个提问哈,在Java中string这个类型它是怎么下的这概念?润,什么叫润呢?这听清了我这几个字啊。Java中定义的string类型。它表示的是一组。不可更改的字符序列。听清我这句话了吗?字符序列简单,一个字符两个字符三字符排列呗,是吧,但是前边的形容词注意了,我说的是啥。不可更改,所以Java中对string类型是不是有个升级版本叫啥呀?String buffer string builder是不是都有啊,而在咱们数据库里边啊。
10:04
数据库里边。他用字符串就用涡叉二,它就叫变长字符串。OK,这个字符串的长度是可以变化的,但是这里边儿有一个规定是什么呀。最多能存4000个字节。最多能存4000个。那有的同学说那8000个不行吗?数据库咱们这么奥这么有钱的公司就解决不了存8000个的字节的吗?能如果超过4000个,他就用这个类型了。他不用我二了,好吧。哎,术业有专攻,术业有专攻,比如说你想装一个苹果,结果你用了一个集装箱。合适吗?不合适。如果说你想运一辆,买了一辆车,你想运回老家,那你用一个方便口袋合适吗?
11:00
是不是术业有专攻啊?是不一样的,好吧。哎,什么样的数据,他就有什么样的数据类型给你。那么这里边儿有一个窝差二,那Java这个数据库里边有没有定长呢?有就是不能改变长度的字符串,有,这里边叫长。较差。啊,这块最恶心了,当时我也很懵,因为我也搞不清,因为Java里边有差,这里也有差,容易混淆是吧。这里边儿的差啊,它叫定长字符串,来看一下它俩的区别好吧。误差二在声明长度后,如果存不满,则自动缩小。哎,好是吧,跟一个有。弹性的方便口袋一样。假设你一开始声明了这么长的空间,然后呢,我就装了这么点东西,它会怎样啊,是不是这个这个弹性的口袋诶会弹回来啊,他是不是就占这些东西。哎,这是涡差二,涡差二啊,但是如果用差声明长度之后。
12:05
还是这么长的东西。结果呢?我装了这点玩意儿,剩下这么多空间,他会咋办?用空格给你填吧,上。用空格给你添上,你说好不好?肯定不好啊。对吧,是不是浪费空间啊,浪费空间。所以在数据库操作中,差类型。他会声明成什么样?什么数据用差类型呢?就是说这个数据就这么长,不可能增加,不可能缩小。例如什么呢?储存性别。性别是不是就是单一个字啊,男或女啊,OK,用叉没毛病。正常,他不可能跟你搞两个字的性别是吧,人妖不可能是吧,没有那玩意儿。好吧,哎,如果是可变的,比如说我想存一下姓名。
13:04
有的人叫张三两个汉字,有的人叫张大山三个字,有的人叫。啊,日本名声整个什么什么玩意儿。真完犊子是吧?哎,四个字,你看它这个字是不是储存不一样的东西啊,所以应该用什么数据类型,是不是用我差二啊。OK,分清了吗?这篇啊,这篇的重点其实在这儿啊。在这。涡叉二,它像一个弹性的口袋,你多装。可以少装回来,而差类型不对。如果你浪费空间咋办呀?那就浪费吧,就浪费吧,是吧。然后呢,有的同学学过哈,就会看到在数据库中其实还有窝差这个类型,我的个天呢,那我差和差二又有什么区别呢?
14:03
在这里边儿也给大家列出来了。首先所有的数据库这写着呢,我差是标准circle里的啥意思?标准就是说Oracle里边有我差。My circle有我差,Server数据库也有我差。OK吧,所有数据库都有,我差这个类型。但是我差。二是Oracle独有的。Oracle独有的水果茶。换句话说,我在my circle里边能不能用我叉二呢,用不了OK吧,好,然后呢,我差呢,对汉字它是占两个字节,对英文是一个字节,占的内存较小,而我差一直是占俩字节。一直咱俩之间怕乱码,怕乱码。然后涡差呢,对空字符串不处理,而我差二当空处理。
15:04
这是一个小小的区别啊。最后呢,握差呢,存放的是固定的,它最大是2000,而涡差呢是变长的,变长小,最大四千,其实说白了,咱们在学完这个玩意儿的时候。是吧,String buffer string buffer。学完STRING8分之后。不知道马老师告没告诉大家,能用string法解决的事情,尽尽量不要用来搞搞定是吧?为啥嘞?因为有一道经典的面试题。大家可以。思考一下啊。String s等于。A加B加。C。问,在这个这句代码执行完成后。创建了几个对象。
16:02
这是一道非常经典的面试题。有的同学知道啊。有同学不知道,一看结果,As不就是ABC吗?那不一个吗?可不是哈。它是这样的啊。又回到了夹碗了是吧?好久没讲甲烷了。首先啊,A是一个。对吧,A是一个,然后A和ABC这是三个字符串吧。对吧。三个了,这就三个了,然后呢,它俩相连接,是不是顺序走啊,自左向右吗?所以开始是不是它俩先合上了,OK,产生了个AB。OK吧,然后AB合在一起之后,又和C是不是又合上了,所以又产生了个ABC。恶心不?这就是字符串,这就是字符串,但是如果说你把字符串换成了string buffer。
17:01
你不停的往里边去加A加B加C,放心,它只产生一个对象。所以用string buffer更省内存空间,OK。哎,这是之前的内容啊。呃,所以咱们说了,捣鼓了这么多,啥意思,能用我差搞定的事儿绝对不用我差。行吧,是这个意思啊。呃,如果要,呃,如果是。这个更换不同的数据库,例如my circle,那么就用我差,如果你不会换数据库,就是Oracle从头用到尾。肯定有我差。不用考虑字符串就是误差,好吧,倒过了两篇,这两篇内容你记得能多少就记多少,但是总结就是一句话,Oracle中字符串就是我X2。OK。那么数字型用什么?
18:01
Number OK,倒了半天,就这两个,两句话记住就好,行吧。好,来了日期类型了,第三种数据类型日期。日期类型这里边儿叫date。咱们Java中用过吧,是不是也是data呀?我记得应该还讲了一个什么simple date format,还能格式化一下是吧。哎,那这里边一样的一样的啊,这里边儿用的律师类型就叫date。好吧,年月日,十分秒,还有毫秒。好,咱们简单思考一下,说电话号一般用什么类型来储存啊?Number。用number还是字符串?电话号,其实电话号有的时候啊,有的时候有区号,有那个座机是吧,有的时候还有手机,有的手机呢,前面还会加一个什么八六什么什么玩意儿啊。所以它这个格式啊,可以说五花八门对吧,咱们五花八门的话用。
19:06
V2,是吧,我差好吧,性别用啥?哎,刚说过了,用差类型。大类型。这种差点定长吧,他是死活变不了的啊。年龄一般用啥呀,哎,Number。照片一般用什么呢?用我差二啊差二。一般照片这里边我为什么给写个照片这个东西啊,本身一张图片,大家在学IO流的时候应该学习了照片的读取吧。二进制文件的读取使用的什么流啊,数据二进制数据流是吧。比如说就这么一张照片,你怎么用数据库保存呢?记住了数据库不会不会保存这个本身,它保存的是什么?保存的是这个路径。保存的是这个路径。它不会保存照片本身啊,OK。
20:02
嗯,好了,那这个路径的话应该用什么保存啊,是我二啊。好了,薪水呢?我这月挣了多少钱?肯定用number,但是是不是得用两个参的呀,因为小数嘛,比如说我这一个月挣了205个亿。点7000万是吧,7000万你是不能给我省了是吧。Okay。好了,这是数据类型啊。
我来说两句