00:00
好了各位小伙伴,那么这节课呢,我们继续来看一下哈,关于这个表的约束啊,这个类型当中的一些内容哈,那么我们看一下,呃,上节课给大家讲的是关于我们买期构的数据类型,常用的就这么四种哈,第一个看看这个边的大纲哈,那么第一个是字符串类型那里,这里边我们常用的就是叉叉和T这三种可能会常用哈啊还有一个枚举哈,也就算四个吧,好,然后数字类型里边就是in啊,然后我们的float以及t in啊,还有一个date small,然后这四个,然后我们的时间日期类型里边当呃,这里边就date time和date time。啊,以及念啊,这是四个好,然后二进制数据类型里边一个都不用啊,我们在正常的开发过程当中,这个类型是都不用的,因为我们所有的二进制数据都不会往这里面进存储哈,所以在操作的时候,据当然呃,有没有例外情况我不知道,但是我所接触的这几年的开发过程当中,从来没用过二进制数据类型进行存储哈,对,嗯,一般来讲都不用啊,所以这个内容做个了解就行了哈。好,那么在了解了数据类型以后,我们再看一下关于表的字段约束啊,就是我们在定义数据库表的时候,我们会呃,它的语法格式是什么呢?语法格式是前面去写一个C啊,Great,比如说table是吧,然后我们的比如说S啊这么一个表,然后括号这里边先写的就是呃这个字段的名字,比如说内是吧,然后后边是写的这个叫字段的类型啊,比如说叉啊或叫叉啊,叉的话就是比如说那个四位对不对啊,然后呢,空格后边是写的类型约束,那么类型约束都有哪些啊?我们看一看它有的时候可以写,有时候也更啊,也就说呃,不是所有情况都需要写的话,我们来看一看首。
01:32
但自动约束第一个叫无符号,无符号什么意思呢?那我们看这位置哈,无符号就是当前的数字类型,就是特值数据类型啊,就是哎给给数字给数值类型啊,数值类型使用类型使用啊使用表示啊表示。为正数,为正数啊,为正数啊,正数啊正数,然后不写啊,不写就为,不写就可以为啊,不写可以可以表示啊,表示正负数,正负数都可以。
02:07
正负数啊,正负数都可以啊,大家能理解这个吧,啊无符号啊,就是说你你你去写的话,举个例子哈,比如说我们在这个呃,创建这个数据的过程当中啊,假设哈,我们在这个位置这么写哈,那我在这个位置写一个ID,那要求它是一个。啊,叫int类型对吧,Int类型,然后空格这个位置啊,UNI啊啊,那么这样的话就表示我们当前这个int类型呢,它是无符号的,那就就说它当前的话是从零开始对不对啊,从零开始,或者说我这个位置表示一个其他类型,比如说它当当前的那个分数吧,还是or CE啊杠分数,那int类型就是假设只值为整数的话,那这样的话就是它不能为负数,只能为正数啊就这样的一个意思啊,表达为就是不能为负数,好然后后边这位置哈,字段类型后面加一个括号限制宽度,那int啊还有比如说char啊,CHR char,比如说股对吧,或者是挖char VAR charr哎七啊等等这个意思啊,那么我们来说一下,在E的后边加宽度是没有意义的,好,然后在叉和Y叉后面加宽度啊表示。
03:14
来我这里给你写一下啊啊岔河挖上后面。在就是在字符类型后面啊,后面加加这个什么,加字加线字后面加。限制啊限制啊表示啊表示这个字符的长度,长度啊为多少对吧?然后呢,Int括号啊括号四,括号四啊没有意义哈,没有就加上它也没有意义啊没有意义哈啊默认啊就是默认无符号,默认无符号的符号啊int为11,为int括号11啊然后呢啊这个叫呃叫什么呢?呃有符啊无符号的无符号的是11啊有符号的有符号的有符号。
04:07
符号的啊in桃十括号十啊就这个意思啊,就这意思,然后什么时候会有意义呢?啊什么时候有意义呢?就是当啊只有只有in,嗯,当这个当给int类型设置为设置为前设置有啊有前导零,前叫前导零。前导零是哪个哪个钱看一下啊这个前导。是哪个?前导零。010啊010啊才啊,设置设置这个啊,Int的宽度啊,宽度才有意义,宽度才有意义啊,那么什么是这个前到零,我们简单给大家说一下啊,就是在呃,比如说我们在呃。呃,我们说这个比如说数字类型吧,啊数字类型啊好来看一下啊,这个位置假设我们这个位置,呃,这个杠C我把它取消掉啊,杠C取消掉啊举个例子,我们创建一个那个叫表啊,创建一个表,这个表里边假设要记录一个学生的这个学号啊学号,那我们知道学号假设都是四位,那么这个时候我们可以怎么记录啊叫sid哈,然后呢,Int括号四位啊四位,然后呢,呃,UNI,然后呢,再加一个呃前导零是。
05:32
呃,签到零是呃,Zero zero,呃,Z for,好,然后呢,呃。嗯,逗号啊,后边再跟一个内膜啊,内幕这个啊,内膜这个是定义一个啊差啊差类型啊差类型四个字母的宽度啊。好,就这样定义啊,定义完成以后,诶三号结束,诶哪里他说有问题。诶,我这里写错了吗。
06:01
F哦,少写了一个R少写一个啊好,那么定义完成以后啊,那么这个时候我们去给它添加一些数据啊,In色的is ER in色的into啊,然后我们当前的s to这个表啊,然后呢,去添加一个values空格,然后写个一逗号,写个那个AA,写个AA,我随便写哈,随便写我主要是添加进去给大家看一下select的星符,让我们当前的STU这个表来A写错了哈,STU这个表来看一下,诶注意看这个时候是不是就前面有三个前导零啊前面的也就是说这个时候就意味着我们当前int类型它所占的呃长度就是四个啊,就是最少是四个宽度,然后呢,如果不够的时候,前面他干什么,他给你补上零啊,补上零,然后它的类型哈,依然是我们的这个数字,呃,数字类型啊DSC看一下我们的s to sto,好,那么这个时候你注意看啊,它依然是一个硬的类型哈,所以在使用的时候哈,注意这点就是只有当设置,呃,设置这个叫什么。
07:01
前到零的时候才会有用,也就是说呃,我们这个位置前到零是呃,ZEO。嗯,我得Z啊,这样这种情况下才会有效啊,有效果啊,那这个效果的话,呃,我怎么给你写呢,我看一下int括号四啊,诶写错了啊in的括号四好,然后呢空格。加上这个无泡号。哎,这样,哎这种情况下啊,这个时候它才会有意义哈,来我把这个写到这里啊,把上面这个给大家干掉好了,那这个就是我们当年呃字符串类型啊,它才呃在使用的时候设置限制宽度哈,然后呢,剩下的就是像叉和Y叉啊,设置宽度啊,表示这个字符串的一个啊最大长度就可以了,好然后后边还有这个东西叫闹闹闹闹闹就是不能为空的啊呃不能为空,那么在操作我们数据库的时候,如果输入该字段的数据为闹,那么就会报错,也就说闹闹闹是不应以为空,你必须得写啊,必须得写啊,哪怕是一个空字符也行啊,但是你不能不写,就这个意思,然后默认情况下,默认情况下都是允许文档的,就yes那意思呢啊,对方呢,就是可以在呃创建这个库的时候,可以设置一个默认值,比如说你如果不写默认值应该是多少对吧?Pro k就是设置为组件,组件的要求是组件不能呃不能为空,且为一啊且为一一般都是用数字啊,一般就一般和啊一般和这个叫呃和这个自动递增,自动递增啊递增递。
08:25
中。递增啊,一起啊一起配合使用啊,配合使用啊,这个在使的时候呢,这个稍微注意一下好,然后all in command就是自动递增了,好,然后呃这个呃用Q就是我们的唯一索引,就是我们索引的话有很多类型哈,那除了我们的pro k就是组件,然后还有唯一索引啊,唯一索引就是数据不能重复,比如说用户名啊,然后呢,嗯,这个索引哈,不管是pro还是呃这个唯一索引,那么他们都是增加查询速度啊,但是呢,会降低插入和更新的数啊,就是会影响性能哈,后面我们会呃抽时间单独给大家去说一下索引,大家先了解一下啊,常规的表的质量优素就行了,好,那这样的话大家。
09:06
再去创建表的时候,哎,你应该写什么类型,这个类型里边应该如何去定义啊,相信各位伙伴应该都能理解了哈,那么呃,后面的话给大家出准备一道题,就大家呢去给我建一张表哈,那么我们先看一下啊后边的这个内容就买税库中当运算符,那么我们在买税库当中哈,呃,有常规的运算符,比如说上数运算符可以加减乘除取,然后呢,比较用符等于大于小于啊,大于等于小于等于和不等于啊,不等于哈,然后数据库的特有的比较in not in啊,Is not is not。诶,Is not呢?啊,对,这个写错了啊,然后like啊,Between和and啊,嗯,In,也就说嗯,举个例子吧,我们在这里select,呃星,我们当前的user啊,User来看一下这个里边,比如说我要查二十五二二和26的啊,22和25的这个年龄,那怎么查呢?哎,你你可以谁select的星from啊,Uses哈,Uses,然后我们这个位置far is is啊ISIS,然后呢,呃,这个叫等于啊,等于22,然后and is啊and就是并且的意思啊,并且。
10:10
啊,不对,不能并且了哈,呃,应该是二或者A等啊等于多少呢?等于20股,哎,那这样的话是不是能查出来这两个对不对?好,那么除了这样写以外,我还可以写一个叫呃,Is大于。呃,大于等于22,然后呢,And is is,然后小于等于20股,好,那这样的话是不是也能查出来,哎,或者是这样啊,或者是这样写就是呃,A,然后in啊,In括号啊,括号22,逗号25什么意思,也就是说它这个A要要等于要符合22,或者说符合25这个条件,那就和刚才那个是一样的,哎这样这样的用法哈,闹的意义也就是它不符合啊,不符合一闹就是它是否为闹,一是闹,闹就是不不不是为空的,然后like和between和and,呃,Between这个的话,后面我们再给大家去用哈,然后还有逻辑的for and or或not啊,这个and和or刚才给大家简单演示了一下啊,后面我们还还会再去用,然后like呢啊,就是可以支持特殊的版,呃,特殊的符号,比如说百分号和下划线这种啊,百分号呢,表示呃任意数量的任意字符,然后呃,下划线表示任意一位字符,什么意思呢?就说看一下啊,Select星from当前的user。举个例子,你要在这里查啊,查找一个用户,然。
11:24
那我只知道它的,呃,叫什么三是吧,叫什么三好,那前也就是说后边这个确定,前面这个我不确定,那么这个时候可以怎么搜索呢?Select啊select星from我们的user啊user,然后Y我们当前的好,然后呢,Y这个位置呢,是我们当前的I,呃。呃,Name啊,Name这个字段,然后like,然后like什么呢?Like后边写百分号啊,注意啊,我写了个两个引号,然后里边写了个百分号,百分号什么呢?呃。Their name like100分号,然后呢,呃,前面的这个是什么我不知道对不对,但是呢,它有两位对不对,所以用一个下方表示啊表示,然后呢,表示一位任意字符是啥我不知道,但后边这个我知道,后边这个是三好那这样的去拼,诶,Sorry,后边多了个L哈,那么这样去查询哎,你看张三是不是就能查询出来了啊这个就是like的一个使用,也就是说它用于模糊搜索,在我们不确定某些字符的时候进行搜索啊然后呢,如果你写一个百分号,如果你前面这个下文线写成百分号,在前面不只是一位,它有可能是三,呃,两位,三位,四位啊只要是呃最后一位是三,那就就就表示呃通呃就符合这个要求哈,所以like的用法哈,呃,那当然了,呃各位小伙伴呢,也不用担心,就我先给你介绍一下买S的运算服,后面呢,我会抽时间啊给大家呢,专门去详细讲解我们买税的查询和各种这种啊运算的一些操作啊,啊大家做一个了解好,那么剩下的就是关于组件内容哈,那么组件的话就表示一行中应该有一个。
12:46
啊,应该有可以唯一标识自己的一列啊,就是数据当中的每一行数据都都应该有一个唯一标识啊,然后用于记录两条不能重复啊,用于记录然后两条数据两条记录不能重复,任意两行都不具有相同的组件值啊是啊,这个比较麻烦啊,也就是说表中的每一行数据都必须要有自己的唯一标记啊,唯一标记一般情况下都叫都是组件作为唯一标记哈,另外应该总是定义组件,就是虽然并不总是都需要组件,就是我们可能不太需要,有的时候我们查询的时候可能用不到组件,但是实际上必须要定义,因为在组件的话,就是你不定义的时候,买税库,数据库会自动给你创建哈,对,然后呢,呃,而且的话,在数据库的后期操作当中,我们经常要用到组件的操作,而且组件的数据查询速度超快超快啊,后面会给大家简单讲一下买的查询性能这方面的一个问题啊,啊给大家去讲一下怎怎么才能查的快,就正常来讲,我们如果数据库当中有个100万或者几十万条数据的话,我们去查询一条符合数据的,呃,一条符合要求的数据的话。
13:47
慢的话,它可能需要100万次查询啊,就是比较100万次数据才能得到你的数据,如果快的话,一次就给你一次就能找到,那么怎么快呢?用组件一次就能直接找到数据,如果不用组件,就是用我们的这个啊,一行一行扫描的话,你有多少条数据,它就要扫描多少遍才能找到你数据,所以这样的话,数据量小的时候看不出来,但是大的时候一定是能够看得出来,哎,我们当前的这个,呃,这个这个叫什么类型的这个呃,这个性能的区别的啊,性能区别好了。
14:16
啊,那么接下来就是关于要求哈,要求的话,首先呃,这个组件的要求第一个就是记录,一旦插入到表中,组件最好不要再修改了,就不要轻易的更改组件哈,第二个是组件不允许文档,然后第三个是不在组件列中使用可能会更改的值啊,例如你使用一个名字作为组件以标识某供应商,当该供应商合并和更改其名字时,必须注意更改这个组件哈,对,呃,这个也就是说你尽可能的不要改变这个值,通常情况下,我们的组件就是拿一个数字类型来表示就可以了哈,然后呢,自增整数类型,数据库会在插入数据时自动为每一条记录分配一个自增的整数啊,这样的话,我们就不用担心组件重复,也不用自己去预先定义这个组件内容了哈,然后呢。啊,也可以使用多个列。
15:00
作为联合组件,但是联合组件呢,不常用啊,使用多个列作为组件时,所有列值必须组合,必须是唯一的哈,但是这个的话我们暂时还用不到啊,它是呃,联合索引哈,这个后期我们讲到所专门讲索引的时候再给大家说一下,但是大家一定要认识到主件的重要性,就记住一句话,表中的每一行都应该有可以唯一标识自己的一列,用于记录两条记录,不能重复。就记住第一句话就行了,他这个,呃,这个给大家说一下,就是这个,呃,我这个课件是根据什么呢?根据一本书来的哈,然后呢,我稍后会把那个那本书的电子文档给大家发下去,它是非常学习,我们学习买S啊,对我们来说非常有用的一本书,然后我会讲完以后,嗯,就是整整个买S讲完以后把那本书电子文档,然后给大家发下去,有时间的话你可以翻一翻哈,对这本书的里边有很多的这个参考资料,是值得我们去学习和参考的啊好了,那这样的话,这个关于买些股当中的数据类型和字段约束,以及相关的运算和组件啊,那简单的给大家说这么多啊,大家对这个内容呢,有一个认识,那么这样的话能够更好的去建库建表,就是设计的你这个表好了,那么下节课呢,我们带大家呢,去看一下我们表的相关操作,比如说我们只是现在知道了创建表和删除表,但是我们表的设计应该怎么来,按照什么样的约定,对不对?然后呢,这个表呃,创建完以后还能不能更改,然后呢,索引它的在这个表中的重要性啊,在后面的课程当中呢,重点给大家讲一讲啊,完事以后呢,我们再去学一学如何去对数据进行具体的一个操作啊。
16:26
那这这就我们买车汇当中要学习一些内容啊,好了,那么本节课的内容呢啊,理论性的偏多啊,当然大多数都是需要大家去了解的啊,啊比如说但你需要记住的啊,是表的字段类型约束和常用的数据类型啊,这两个记住,然后最后一个组件你认识到就可以了,好了,那么这节课的内容啊,就给大家分享到这里,下节课我们继续啊。
我来说两句