00:00
那接下来啊,咱们看一看约束这一章的课后练习题,好这块我们找到咱们这个课后练习题啊,练习章节练习关于我们这个约束的。哎,打开行,那首先的话呢,我们先去创建一个文件啊,我们在做这个练习啊,这块咱们把上边这个title呢给它粘一下啊,CTRLC。V约束的课后练习。这个呢,我们先把它选中,然后CTRLCCTRLS,然后我们这块呢,保存一下啊,CTRLV。好了,那我们看一看这一章的课后练习题,我这块呢,给大家提供的这几个,呃,因为呢,约束这块呢,涉及到这个细节点也比较多,但是整体上来讲的话呢,通常咱们都是在创建表的时候呢,把这个约束呢给大家加上,然后呢,在咱们增删改数据的时候呢,给大家就起上作用了,对吧,难度上的话呢,其实不是特别大。所以这块呢,我在提供这个练习的时候呢,我提供了两波一个一个呢叫这个基础练习,一个呢叫这个拓展练习,这个基础练习呢,就是我,哎现在呢,咱们视频当中啊,要给大家讲解的这三道练习,接下来的话呢,我这块还给大家提供了八个练习题,那如果同学们有兴趣的话呢,你再把这八个练习题呢做一下,那咱们讲的话呢,我就不去讲了。
01:12
OK,就是这么个情况,好,那首先的话呢,我们来看一下这个练习一。电一这里边呢,提到了我们需要去创建数据库,然后呢,在这个数据库里边呢,提供了两张表,对应的字段呢,也都给好我们了,这个呢,我们可以看作是一个现成的,那基于这个点的话呢,我们再看下边这个需求,好那过来,首先我们这里边呢,来一个这个呃,练习一好粘过来。这里边儿呢,我们在一个新的数据库下呢,我数据库下呢,我们去做这个练习题,Create一个database test04啊下划线EP,那我们当前的这个用户连接当中是没有这个数据库的好,首先呢,我们选中。这呢我们就做了个执行,然后接下来的话呢,我们在当前这个数据库下呢,咱们去创建这两个表,对吧。哎,创建好一个,然后我们再创建另一个,那么这两张表我们在创建的时候啊,根本没有给他们去添加任何的约束,大家能看到了对吧?好,那下边的话呢,我们看一看,通过al table的方式呢,咱们给他呢,把这个约束呢添加上,那这个呢,也就是咱们下边这三个小的题目啊,CTRLC这个练习的话呢,相对来说还比较简单一些,就是大家呢稍微的练练手,好来我们看一下。
02:21
首先的话呢,我们来看第一个说,像表EP2的ID列中呢,添加一个primary key,哎,咱们一般呢,在创建表的时候大家注意。这个我一般的都可以拿掉,就是大家造表的时候一定要提供主件。啊,为什么一共要提供主件呢,这个从我们上边这块呢,咱们来讲呢,就是我们要能够区分出来表中的每一条记录啊,你不能出现有两条记录,我们没法去区分了,是吧?这个呢,咱们说的叫实体的一个完整性,这个我们一开始讲数据完整性的时候提到过。呃,其实这个呢,还比较这个,你要说就因为这个原因,所以我们要一定要加主见,这个其实还是有点说服力有限啊,为什么我们一定要加主见呢?咱们说主键呢,它对应的这个字段呢,会这个自动的添加一个叫主键索引。
03:08
我们在下边的时候呢,会大家去讲咱们一个表中数据的添加,哎,在底层是B加数,这个B加数呢,就是针对于我们这个主键索引呢去创建的,也就是呢,针对于我们这个主键对应的一个字段呢,搭建起来的一个必加数,所以我们一定要有个主见,你要没有主键呢,他就会找一个微型约束的一个字段了,那咱们呢,就别让他自己去找了,咱就诶主动提供一个啊这个大家注意,像这时候呢,我们创建列表没有去提供组件的话呢,我们就需要呢,是不是给他做一个添加了,对吧,那我们就alter一下。这个table。Table呢,我们叫EPROK,然后呢,添加主键这块呢,大家小心一点,就是我们别的这个约束的话呢,咱们要是写的话可以比较完整点,比如说我们叫conscentratet,然后起一个em,诶咱们首先呢叫primary key是吧,针对这个EP2呢,它是一个ID,诶这样然后呢叫primary key啊针对的是咱们这个ID,这个字段是这意思吧,那这个情况的话呢,如果我要去运行呢,其实也不会报错啊,但是的话呢,给大家强调一点,就是针对咱们主键的话呢,因为一个表中主键是唯一的,所以我们就没有必要呢给它去起这个名字了。
04:13
没有必要去起这个名字啊,就是这个意思,那比如说我们现在呢,执行了。那这就成功了是吧,那执行成功以后的话呢,你会在这儿呢,也能够看到FV刷新啊,在这里边打开我们这个表,然后你看这个位置呢,其实他也没有呢,把我们这个名字呢给你显示出来,对吧,就我们这个名字其实还是这个叫primary了啊哎,这个大家注意一下。行,这呢我们就说到这儿,然后的话呢,诶,然后再多说一句,就是我们给这个表呢,其加了一个主键的前提呢,是什么呢?就是这个表里边如果啊,你要是存了一些数据的话呢,我们要求你存的这些数据呢,是不是得满足这个得飞空啊,得这个unique呀,是都得就天然的得先满足,然后我们才能去加上主件,对吧?那你要是这个员工表里边呢,已经有两个ID呢,都是一了,那这个呢,主建肯定也加不成功啊,这个大家应该能理解好,那接着我们来看第二个,第二个呢,是给我们这个部门表呢,去加主件,那也比较简单啊,Al table dept2是吧。
05:11
好,然后呢,我们就直接ADD,所以呢,大家前面这个constraint这个约束名就不用写了,Primary key针对的是它的这个也是叫ID,好这个我们加上一个ID没问题是吧?好,我们选中了做一个执行。嗯,可以了,然后呢,你这块也可以F5刷新一下,那我们这块呢,就可以看到了这样一个主键,没问题,接下来说向表EP2中呢,添加一个列叫de PT下线ID啊,这里边没有这个字段,然后我们先添加一个,然后呢,我们再去定一个外键约束,那跟它关联的是我们这个部门表里边这个ID啊,这个应该是写的是比较清楚的,是这意思吧?好,那首先的话呢,我们去添加这样的一个这个字段,那添加字段的话呢,我们属于一个al table,那EP2,然后我们相当于是ADD的一个字段,对吧。爱的什么呀?
06:00
I呢,我们叫dept下角线ID,然后注意注意,咱们讲这个外径因数的时候提到过,就是我们这个,呃,其实加完以后呢,咱们把它自动呢,是不是就称为叫从表或者叫子表了,对吧?这个从表中的这个字段呢,跟我们这个主表中的这个字段呢,名字呢是可以不一样的,你比如说我们现在就不一样,对吧,但是类型呢,要求是一定要一样的啊,上面这个呢是int类型,这个呢也一定得是个int类型。这个呢,大家一定要注意一下行,那此时的话呢,我们就给这个EP2这个表呢,就加了这样的一个字段,你可以通过DEP2呢进行一个查看。没有问题是吧,我们加了一个字段,那么接下来的话呢,我们去给它添加这个叫外间的约束,OK,那么添加外径约束呢,我们也是通过叫al table的方式呢去做的调整,那这里边我们就at一个,这呢,我们就可以写的比较全了,这个cons foreign key是吧。针对的是我们这个EMP2里边的是咱们叫de PT。ID我就这样写了,OK,然后呢,我们说明叫foreign,这个foreign key是咱们员工表里边的这个字段。
07:08
这是写你自己这个从表里的,然后呢叫references,那关联谁呢?关联我们第1PT这个表里的是不是ID段啊。啊,CTRL一下。啊转过来这块呢,咱们前边呢,讲课的时候呢,给大家也提到过,这里边我们要求这个主表啊,或者叫附表里边的这个ID呢,上面一定是不是要有这个主见约束,或者呢是叫唯移性约束,对吧,那这呢我们是不是已经具备了呀,所以说呢,这个操作呢,是没有问题的。OK,来,我们选中了做一个执行。成功了,那成功以后的话呢,我们在这F5做一个刷新,那此时呢,我们再去看这个位置的话,你看它就多一个这样的约束啊,没有问题。为什么呈现在这个索引这块呢?因为我们说主键跟这个外键的话,他们在创建好以后,那对应的这个主键约束呢,它会创建一个主键索引,这个外键约束呢,它就会创建一个普通的一个索引,对吧?这个咱们提到过了,行,那这里边呢,我们就把这个练习一呢就搞定了,接着我们看这个练习二。
08:07
啊,练一的话应该是比较简单的啊,基本的一个使用。练习二看一下,练习二呢,这里提到说是承接第11章数据处理职责整改的综合案例,当时呢,我们讲这个第11章的时候呢,是造了一个数据库,叫T01,叫library,里边呢,我们造了一个表,就是我们下边这个表。然后呢,这个表里边儿的约束呢,咱们当时呢,实际上是没有做的,那现在的话呢,相当于是还是针对原来那张表,然后把约束呢给它添加上。那就是这个意思,那就是加约束啊,下边我这就是答案了,那咱就直接来吧。这个练压,咱们把这个粘一下。啊,这个嗯,承接那这个事CTRLC。哎,这么着行,那这里边呢,咱们承接,那就直接我就use了,Use一下咱们叫test01_library诶这个我们直接用它一下tab提示行,那我们这块呢,切换到咱们当前的这个数据库,那切换到这个数据库的话呢,我们首先DSA一下,它不是说有个表叫books吗。
09:08
那此时呢,我们选中了做一个执行。OK,那么关于这个表,它的这些字段呢,一共是有八个。啊,我们也可以跟这里边稍微的匹配一下,这也是八个,那其实呢,我是就是从那一张呢,把那个表粘过来的,所以说这个表呢不会出问题,包括这个数据类型这块呢,也都没有问题,这个都是咱们提前都定义好的,都是一样的,然后接下来的话呢,我们主要呢,是不是给这个表呢,去加一些所谓的约束啊好,那这个约束呢,都有哪些呢?这块我们要考虑到这张表,那此时呢,我把这个表呢给他盯一下,这个呢,是不是也属于咱们在叫什么呀。这个创建好表以后使用out table的方式呢,去加约束,是这意思吧。行,那这里边儿我们来看一下说呢,根据这个题目要求,给咱们这个box表中的字段。哎,来添加约束OK。
10:02
来咱们就开始了,那添加数添加约束的话呢,那你就一个一个去看,一个一个来,首先看第一个ID,这个表里边的ID呢,一看是不是就像是主键呀,OK,没问题,它确实是主键非空的唯一的,这都没问题,只要是主键的一定是非空唯一了,然后还有这个字灯的,OK,能把这个都加上。嗯,这块呢,我们主见和自增能不能一起加上呢?来我们看一下。我们看一下out table,这个我们叫books是吧。正常来讲呢,咱们说加一个约束呢,咱用的是ad,就是比如说我们叫primary key,然后呢,针对的是咱们ID,这样的话呢,是不是就把这个约束就给加上了是吧,然后呢,你再给他去加上一个叫自增。哎,再给大家去加上个自增,比如我们这个加上以后呢,大家可以再怎么着呢,我叫al一个table,那books是吧,然后呢,这个自增的话呢,是不是相当于是一个叫modify了,就啊这样去写,然后ID是一个int类型的。啊,然后呢,大家可以加上一个auto下线啊,叫increment啊,这样方式是可以的,那我们看看能不能这样写呢,我一次性的。
11:07
Out,一个table,这个叫books是吧,然后modify,然后ID类型primary key。OK,然后呢,紧接着后边呢,我们来一个auto,然后increment就相当于呢,我们一个语句对吧,来走一下。成功了,然后呢,我们这时候在DEA一下。这时候呢是一个primary key,这呢是auto equipment是不是也可以啊,所以呢,我们可以呢,哎,用一条语句或者是用两个你分开的都行,这呢算成叫方式一先加主键,再去加一个automent,这个呢就是我们合在一起了都行。当然了,你肯定合一起的,是不是相对来说要更好一些是吧?好了,这呢是我们说的这个ID,然后它就没事了,然后这个name name这块呢,它是个非空的行,加上一个非空的。嗯,那我们就是接下来那针对于。
12:01
针对于这个非ID字段是吧。的这个操作,那也是这个叫table。这个我们叫books啊,然后呢,这个时候呢,我们就都是叫modify了啊,这个要注意一下,这个modify就针对我们这个no no的话呢,它其实用的是modify,你要其他的约束的话呢,呃,像我们刚才说主见可以用modify啊,或者一般的你加一个唯一性约束啊等等,我们直接用。啊,也是可以的。啊,所以这块细节呢,感觉还是有点多哈。Mo什么呢?针对我们的这个name。嗯,它的类型是我差50,这个呢,你把它还写上50,然后呢,它有个nono,就这意思吧。非空约束好,来我们这时候选中,此时的话呢,你看这个位置呢,他没有说这个你是一个非空的,来我们此时呢,来跑一下。接着我们再来个DA。好,这时候大家会看到呢,这是不是有个no了啊,没有问题,行,比较简单,然后呢,你就小心一点就行,Others这个也没问题,那我们就整体看一下吧,Others这个price价格,还有这个嗯,叫PU出版日期,那这几个呢,是不是全都是这个叫非空的,也没有别的约束,Node呢就没有了,然后下边这个number库存的话呢,也是个非空,那相当于这几个是不是全是加非空就可以了。
13:19
1234这几个行,那我们就直接呢,用CTRLC复制一下。1234对吧,然后呢,首先是叫others。这个把这个改一下。Otherss,他的是100。行,然后闹闹。作者,诶,OK,没问题,下边这个呢,是叫价格price。嗯,Float类型的啊,像咱们实际开发的时候呢,不建议大家用float了。用decimal对吧,这个是然后public public。然后这个呢,是一个year。
14:00
嗯,没问题。嗯,然后这个呢是no no OK,然后呢,说明不用管,然后这个number。这个呢是一个int类型,这个11的话呢,我是不是就不用写了,因为默认的话呢,它就是11对吧,这个也是一个非空的非空OK没问题,行,嗯,这块的话呢,我们这几个修改呢,其实大家可以选中的一起给大家执行了上面这个内幕,因为咱们那会儿呢,已经执行过了,然后把这几个呢选中执行一下。可以啦,然后我们再去做de。选中执行好来看这时候呢,我们就给下边这几个非note的是不是都加上了。别的这块呢,也没有了,没有了我们也就这样。啊,这个题呢,相当于也就做到这儿了。啊,就这样好,然后呢,我们来看一下这个叫练习三。诶练习三这里边儿呢,就涉及到了我们在创建表的时候呢,咱把这个约束呢,就加上这个呢,实际在开发当中,我们实际上用的还是比较多的,就是造表的时候呢,就把约束加上这个呢,才是一个正统。练习三。
15:01
保存一下。嗯,来,我们过来看一下,首先呢,去创建一个数据库啊,创建数据库,那咱们就直接来吧。Create。这个叫啊,以前咱们都还是加一个if not this是吧。那如果你要不存在,我们就创建一个叫什么呀,叫TEST04COMPANY OK,然后后边我们是不是还可以加个叫character set吧。然后呢,我们指定的是一个UTF8没问题吧,行,这个我们可以写全了行来选中,这个时候呢,其实不写它也行,因为我们已经设过那个字数集了是吧,或者呃,这个5.7的时候设置过了这个八点,那就不用设置了,因为它天然的就默认是UTF8的了,好选中执行。可以了,然后此时的话呢,我们来一个use。咱们当前的这个数据库。现在呢,我们这个位置呢,是其他的数据库来,我们选中了,执行一下是不是就切换过去了,没问题行。然后接下来。
16:01
嗯,我这个位置好像放的不太好。我把这个呢,CTRLX咱给扔到人家练习二这个里边了是吧。在这。然后的话呢,我们接着看下边这个说,按照下表给出的这个结构呢,在这个数据库下呢,创建两个表,Office和employees行来我们一个一个创建,首先呢,我们来看一下这个office。啊,就针对他。过来。行,来这来了啊,嗯,这个呢叫office。Table啊,你也可以写一个呢,叫if not exist是吧,你要不存在的话,我就创建叫做office怎么着。打开第一个呢,叫office code。嗯,你看这个office code呢,它这种其实相当于是一种叫驼峰的命名方式,第一个单词呢,全是小写,然后第二个单词,第三个单词的首字母大写,这个咱们在这个,嗯,Circle这里边其实不是特别常用这种方式,对吧,咱们习惯还是用这种下划线的方式啊,这个呢,嗯,咱们就了解一下就行,它这相当于是一个规范,就是你要是就写成这种字母大写了,它也是能通过的,这个是没问题的。
17:15
包括呢,在咱们这个Windows当中,像这些字段的话,它本身大小写不区分啊,所以说你写大写小写呢,他倒是都行啊,但是尽量呢,我们还是遵循一下啊,大家要自己定义,我建议你呢,你就你就这么着一下。理解吧,啊,他这个呢,因为他要求你这样写,那就这样写,就是在不同的公司当中,不排除呢,他这个规范呢,可能遵循的不太一样,他希望这样,那那咱就这样啊,就是按他的来啊。好,那office扣。这个首先呢int类型,然后它这明确指定的是十了,那咱就写上十,因为默认的是11是吧,像在这个8.0当中,是不是已经不让大家去,不建议大家呢,去这里边儿去写这个具体的数值了。OK,然后呢,是一个primary。啊primary key是这个自增的吗?他还不是自增的啊。
18:01
啊,还挺倔强是吧,不是自动的,那我们不用管这个autorement了,这个唯一跟非空的咱不用管了,因为只要是主键自动的就非空写唯一对吧?好,这是第一个字段搞定这边。嗯,City这个是what?50。然后呢,它是一个非空的,好,这个比较简单,Nono。然后呢,Address。这个我。50。嗯,这个没有任何约束,那OK,下一个country。嗯,我差50。嗯,Country的话呢,是一个非空的好加上。然后呢,是一个post code。别写错了。好,这个呢是一个15。是五行,它呢是一个唯一的行,这个叫unique是吧?哎,这个最后呢,就不用去加这个逗号了,这个叫unique,然后呢,这个位置,哎,这个有写错了。
19:04
这个unique的话呢,大家这样写的话呢,相当于叫类约束,我们也可以把它写成是一个表约束,这个OK吧,那我要写表约束的话,怎么写呢?我就这样写,这样叫constraint。那这个unique呢,因为我们可以去命名了嘛,我们是叫unique,针对的是这个office,它就简写了这个表的,然后叫postal。我就简写了扣。Code这样吧,针对呃,这个postal code这样的一个字段,我们声明了一个叫unique,那接下来你把这个unique呢,给它写上,针对的就是这个字段。理解吧,你看这就可以了,这呢就我们叫表的约束,这时候呢,我们是显示的给这个唯一性约束呢起了个名字,那回头我们要是删这个唯一性约束的话呢,我们得通过删索引的方式,然后呢,这就是相当于索引名了。理解是吧,好,那选中了我们做个执行。可以了,然后接下来我们来一个de,咱们看一看咱们的office。
20:01
来我们选中执行行,那这里边儿呢,我们有一些情况呢,是都可以看得到的。能行是吧,好了这个呢,我们就说到这儿,那接下来的话呢,我们再看创建下一个表,这个呢叫员工表,这个字段呢稍微的多一些,接下来呢,大家小心一点,难度呢其实不大,就是小心一点。好,那我们也是呢,Create一个table,这个我就不写if not一个Z词了,这个呢是叫叫啥名来着。Employees,行。嗯,这么着一边小括号下来在这,嗯,那我们就按照这个要求来employee number。然后是一个int类型的这个小括号,11就不用写了,因为它这块默认就是11的。然后是主键primary。He,对吧?然后呢,这个这个啊是词灯的,我们在后面就给它加上auto下划线,叫increment行,这个没问题,然后last name。
21:00
是一个work char类型。50。嗯,飞空的。然后呢是firstname。也是50。这个也是非空的行,我鼠标呢,我就不往那块去递了,那我就直接呢开始写,然后mobile。电话对吧。Mobile的话呢,是一个25。嗯,OK,这个,哎唯一的。哎,别看串了啊,在这唯一的行,这个呢,我就用这个叫列举约束吧。有那对吧。然后呢,叫office cold。没问题。In类型这个呢,它明确说是十,那我们就写上这个,这个你写完之后呢,其实也不影响,就是,呃,大家你还记不得,记不记得我们讲那个课的时候说就我们这个呢,如果写了诗以后呢,你这块也没有什么其他的讲究了,什么意思啊,就是。我先写全吧,这块呢是一个哦,这还这哥们还是个外键的,一会加外键,然后飞空的好,先加了个notno外键呢,我们一会儿通过这个表约束去加。
22:09
没了是吧,那如果呢,你就这样去写的话呢,其实我们这个写十呢是没有意义的。啊,大家回忆一下,我们讲课的时候说过,这个事儿它是没有意义的,怎么着才有意义呢?我们是不是要加上一个叫zero few啊?加上它的话呢,哎,其实加上你接收费用呢,它自动的会加一个叫按三的就是呃,无符号的是吧,它才有意义,就是说你要是写的低于十位的话,它不是给你补零吗。就我们这样写的话呢,并没有,是不是减少我们底层存储的那个空间吧。这个大家记着啊,没有减少我们底层存储空间,因为存储空间的话呢,始终是不是四个字节呀,啊这个大家注意,所以这块你要写个十,没有加它一点意义都没有,而且呢,会显得很low,然后觉得说这小伙肯定是对这个都不熟悉是吧?啊你要是想写十呢,你记得把它加上,就这意思。好,接着我们再看下边的。嗯,这个外键注意点,一会呢,我们去加这个外键啊,一会加外键,然后呢,我们这个叫job title。
23:08
嗯,Job title,然后。这个50。嗯,飞空的好那。被空的行,没问题,然后birth。生日daytime。嗯,Daytime,然后呢,这块呢,是一个非空的好nono。嗯,被看穿了,然后no。这个是一个255。行二五没问题,然后呢,啊,这啥也没有是吧,没有约束,行下一个呢叫sex,这个是我差五,哎,这个性别来个五五个字符哈,有点意思。行,嗯,啥也没有。可以了是吧,好,这个小心一点,我们是不是还差一个表决数,指明一下这个外键对吧,这个外键的话呢,那我们这块就要写啊constraint起个名,咱们叫员工EP,针对的是叫咱们是叫office code吧。
24:05
这是外件对吧?好,那我这块叫office,我简写了扣,然后呢,诶前面呢,我们就加上一个FK。就是有的呢,大家会发现一些这个,呃,约束在命名的时候呢,习惯上把什么呀,把这个FK呢,写到后边,就是相当于是这么着。这个FK或者让你写成这个叫,比如叫unique,或者叫unique也有这样写的啊,主见呢就这样写primary key啊,有的是写在后边这块呢,也有些公司呢,习惯了写在前边,我这块呢,就遵循呢写到前面的了。写在前面的话呢,其实我们上来一看就知道它是一个什么什么约束了啊,所以我倾向于是写在前面,就是前后的公司的约束的不同情况都有啊,都有行country,他然后呢,Foreign。这个key对吧,针对的是我们这个叫office。Code,嗯,这个字段好,References关联到我们上边这个表,这个表呢,建议你就这样粘一下,别写错了,这个表这个分号不要加,哎,这个表里边的谁呢?就是这个office code,哎,同样的要求,它必须得有个主键约束,或者是唯一性约束啊,现在上面已经是主线了,没有问没有问题,行,那此时呢,我们就可以选中了,做个执行。
25:19
好,发错了。这个看一下,嗯,说我们这个里边呢。呃,关联的它是不是我们这个字段上写错了呢。Office code这个是foreign keyo这个吧,CTRLC转过来。嗯,啊,这个应该跟这个类型,嗯,我们上边这是啥呀,上边印的是十啊这个,那我把这个呢给它去了吧。把它去了啊,这个我刚才这个重新粘了一下,其实没有什么区别,对吧,来我们走一下。啊,大家看这时候就成功了啊呃,为什么这块你看我加了一个叫费用呢,会有点影响呢,就是咱们这呢,相当于是在类型方面呢,有点区别了。咱不是说了这个关联你这个主表的时候呢,这个主表要求类型的也是完全一样的,咱们上面写了个十,我上面没有加技术费用,所以这个你就别加了。
26:08
理解吧,要不你就都加上啊,注意行,那这呢我们就完事,然后呢,你可以de咱们看一下这个employees。来把它选中呢,做一个执行。那这呢,我们就能看到一些基本的一些情况啊,这个帽呢,其实涉及到就是这个外建的事儿,你也可以在我们这里边儿。嗯,F5刷新一下,然后打开。嗯,咱们现在呢,是。嗯。是在这个表吧,F5刷新。咱们现在呢,用的是哪一个数据库啊。哦,不是这个。F5刷新啊,这个对吧,来打开。哎,这里边呢,我们把这个呢,再去看一下这个索引,好,那这时候我们就能看到了,没问题是吧?哎,可以的啊。行,那这样的话呢,我们就把这个表呢,相当于是创建完了表,创建完以后呢,下边还有几个小的题目啊,OK ctrl c一下,我们这呢,把这个小的题目呢,咱们也看一下,首先第一个说呢,将这个表employees中的mobile字段呢,修改到office code字段的后面。
27:10
Mobile它放到这个office code它的这个后面,那这呢就是一个移动的问题,行,哎,我们前面也讲过,Out table employees用什么操作呀。是我用这个猫迪啊。Modify对吧,针对的是我们这叫mobile,然后呢是一个。我多少,25吧。摩插入对没有问题,然后呢,我们让他呢,是不是after呀,嗯,咱们的叫嗯office code好CTRLC啊站到这来选中就可以了。OK就可以了是吧,这个呢我们是唯一性约束啊,这个呢是一个外径约束,哎,我们选中执行。然后呢,我们再去D看一眼。好,现在的话呢,你看他俩位置就颠倒了,然后呢,这块呢,约束是不受影响啊,没问题,好接着我们来看这个第四个说呢,将表employees中的birth字段呢,改名了,改名行这呢,就咱们前面讲的改名还记得吧,这也是属于修改表的一个操作,Out table,你看我们out table的场景还挺多的啊,Employees然后用什么来着。
28:14
是不是叫change啊?Change呢?我们叫birth,改成叫employee birth。这个。然后呢?把类型也写一下,类型的是daytime。OK,这样就可以了。好,这里边儿呢,我稍微的就是这道题呢,让咱们这样做,咱就这样做了,但是我稍微的多说两句就是呢,你看咱们这些字段呢,是不是都是首单词呢,都需要写第二个单词呢,是首字母大写了,基本上都是这两个套路是吧,那我们现在呢,定义这个字段的时候呢,把它改成这样个套路啊,其实不太好。就是感觉你这个呢,字段定义的就特别乱,要么呢大家就都是多个单词之间用下划线,全都小写,要么呢,你就是按照这种叫小透风的方式去命名,别这个又有那样的,又有这样的,这个就体验就很差了,就感觉你这个很业余。
29:02
啊,很业余啊,没有规范是吧。好,那这时候呢,我们把它选中执行。啊,改好了,然后我们再去看下这个D,找一下这birth啊,是不是就改成叫employee birth是吧,你看这时候呢,看着是不是就别别扭扭的哈,就跟打仗一样,这个衣服呢,这个。这个这个什么部队的衣服都不统一,那就显得就很业余啊,下面呢,就要修改这个sex这个字段,把它呢这个类型改成叉一啊,这个一开始指定是五,没有必要对吧,然后是一个非空的约束。那我们这里呢,做一个修改啊,还是一个alter table。嗯,针对的是employees没问题,然后呢,Modify对吧,然后呢是我们这个sex改成是一个叉,长度是一,其实默认的话呢,你要不这样写它其实默认是不是就一个字符啊,OK,然后呢,是非空的啊,我们就加上一个非空,这个位置呢,现在是没有非空约束的,此时呢,我们选中,哎执行一把。可以了,然后再去D。行这个呢,改了这个呢,是不是也承重了,没有问题,下边删除字段node。
30:04
啊,这个不要了。诶注意咱们在实际开发当中删字段这个事儿呢,你轻易的不要去做,除非呢,你一开始做好备份了。嗯,Job也靠拢。那你想你要删这个字段,这个字段里边的很重要的信息,那可能你要没有备份的话呢,这真就干掉了。真要干掉了是吧,而且呢是不能回滚的啊,这个要小心一点,好,那我们在会在这块去执行就没有了。这个练习嘛,所以咱们这块操作就操作了,那实际开发中大家你就就最好你这个是不是就别练了,你练的挺熟,然后一写就写对了,这个还挺恶心的是吧,你要写错的话呢,诶还还有这个有后悔的直说啊,因为没执行嘛啊你要写对的话呢,这个还挺麻烦的啊。行,下一个说增加字段,它然后类型啊,这个比较简单,就是默认情况下呢,我们要加一个字段呢,肯定加到末尾了,就嗯加一个字段,这个也属于一个alter。嗯,Table employees,然后I的一个。嗯,就叫favorite activity啊,喜欢的活动你可以理解成就是爱好。
31:05
然后呢,是一个work。啊,100是这意思吧,他也没有说具体的约束,那我们就不用写了,选中执行。那接着呢,再去DEC,走起。那就在最后出现了,没问题,好最后一个说呢,将表这个名称命名为这个,那我们给表呢做重命名,咱们其实有两种方式,一种呢,还是这个al的方式,那一种的话呢,是不是可以用这个rename啊rename这个table employees,然后呢,Who。那employees叫infer。这样一个情况来,我们选中了去做个执行。那可以了,哎,可以以后的话,这时候呢,当你试图去DEA,想去看一下,这个叫employees。他这种呢,实际上是不是就报错了,再走一下,假如说你这个表呢,不存在。那这是一个错误,那哎这个用个分号冒号啊,那因为呢,我们这表呢已经改名了,所以呢,你要想查看的话呢,应该后边再加上一个叫in for。
32:06
上,哎,我们这时候呢,选中呢去做个执行,那这个呢就没问题行,那么这儿的话呢,我就把这三个练习题呢,咱们就一起呢就做好了,那基本上呢,把咱们这一章当中遇到的这个,呃,这个创建和修改表的这些呢,我们就都涉及到了一些,那当然具体呢,我们没有往里边去添加数据了,你说添加数据呢,去看一下是不是这个约束起作用了,或者这约束呢,到底是影响什么,这个呢,咱们在前面讲这个课程内容的时候呢,已经说的很清楚了,所以我们就没有过多的给大家去演示添加增然改了,那具体呢,大家下来呢,你可以去演示一下。然后呢,后边这个拓展这块呢,我呢又放了有八个题目。那这个有的,这个题目呢,这个还挺长的啊,涉及到了我们前面学的这个查询一些东西,那这个题目的话,你看还不少呢,大家如果说你要是有兴趣的话呢,下来呢做一做后边这一题呢,这个答案呢,你看我都放在这儿了,我觉得这个整的还是挺到位的啊,这个大家呢,你要有这个兴趣呢,你就做一做。
33:04
如果说觉得说基本上啊,你要是像刚才咱们写前面这几个练习一样,大家写的有相对比较熟了,我觉得呢,这个后边这几个不做也没有关系,那就相当于你基本上掌握是OK的,如果你要掌握的不好呢,反而倒是做一下,掌握好的话呢,我倒觉得反而就不用做了。行,那关于约束这一章呢,我们就说到这儿。
我来说两句