00:00
我们添加一下表级约束,好添加表级约束呢,我们这样哈,也是用这个表,我们先删一遍,那就是drop table衣服exists谁嘞,是不是SQ in fire呀,哎,我们先删了,那么呢,我再去重新创建,诶把这个弄一下create table,我们呢叫SQ in好这个里边呢,还是这些字段idt,但是你看我是不是约束都不加呀,先ID int,然后再去写个谁来着,SQ name是不是we差呀啊20,然后再来一个叫做什么来着,真的真的的话叫做差好,然后还有一个座位号int,还有一个叫做edge edge的话也是int,对不对,还有一个叫做major ID int,就这些吧,这些我是。
01:00
是列句约束都没加呀,我现在想加表级约束去啊,注意表级约束是在最后加,那你最后一个字段和你的表句约束需要隔开,所以这个地方是不是需要加个逗号啊?好,那么我加第一个表级约束,比方我要加主键,加主刚才是为ID加的主键吧,怎么去加呢?来注意看哈,完整的语法是can后面加主间的约束名,就是你自己起个约束名,比方说叫做PK primary的缩写吧,这个名字是不是随便起的呀?这是随便起的。啊,比方我就叫PK,然后呢,再去写主见的类型primary k啊,你现在先不用记,一会我会总结啊主见,但是你光这么写是不是不知道是给谁设置的呀,哎,所以你要加一个小括号,这个里边写上你要为谁添加主键。我这个地方这样写是不是代表为I立填下主间呀,嗯,它这个意思啊,好,而且呢,而且呢,其实我也,嗯我先这么写吧,先这么着写啊,这个代表的是主键啊,然后主键加完了之后呢,我再去跟大家去加一个constra,比方说唯一键UQ,呃,我们我们这个唯一键的类型是不是unique呀,好,我们要为谁加嘞?哎,那么我们要为性别,那这不是性别叫做呃sit是不是座位号呀,这样去加,这个代表的是唯一键啊唯一键好吧,再继续,我们还想去加一个是不是叫做呃,Can straight,我还想加一个check约束,但check约束还是不支持啊,我的意思是说还是没效果,没效果的话你也可以写,对不对啊CK,然后知道怎么写呢?哎,你要去写上叫做什么呢?Check,对不对?
02:57
小括号,然后这个里面怎么写呢?呃,比方说是谁来着,GE的是吧,GE的啊等于啊男啊,哦,真的等于女啊,它这个意思啊,那么我们加的这个代表的是检查约束,好最后一个是加Y键了,Constraint后面加FK啊,那么一般的呢,我们要加上引用名,哎,这个是引用了major啊好,那么我这个怎么写呢?注意哈,Foreign k,这个要加foreign k foreign k,呃,然后再去写你是哪个列,你这个列叫做majord references,哪个表呢?Major表里边的D,这个代表的是外键,这个代表的是外键,是不是挺长的呀?啊,这个代表的是外键啊,行了,那么现在我们就去执行一下吧。
03:57
好,然后我们去执行啊,成功了,说明我这四个是不是加上了,注意非空和默认不支持,所以我就没写,能听懂吧,不支持我就没写,那真的加上了吗?我们同样是不是show in de from as to in for,看一下呀,好,执行你看这一次多了吧,这个是谁,这个是谁,看上面这个是不是外间呀,啊外键这个是唯一,这个是不是主间呀,这个这个代表的是索引的名字啊,索引的名字啊,有的说老师你这个外键名跟你这儿起的一样,这个唯一键名是不是跟我这儿起的也一样啊,这个主键名一样吗?不一样,这个我提一下哈,咱们这个主间的话呢,它的这个名字它就是固定的primary,这个的话,我们就算给他改名字了也没效果,就算改名字也没效果啊。
04:57
My circle中是这样的,你要是在搜so和Oracle的话是可以的啊啊,反正我告诉你,你要是改名就这么改,但是也没效果啊行哎,那说明我这几个都加上了,没问题吧,都加上了啊好,那么我就在这给大家去写一下,那添加表级约束它的一个完整的语法是怎么写的呢?好,语法那么实际上是在我们表,呃,应该叫做在各个字段吧,各个字段的最下边,可以这样说吧啊那么我们写的这个语法为cantra后面加约束名,后面再去加约束类型小括号后面加上我们的字段名,因为你要去设置上为哪个字段是不是添加该约束啊啊这样去写,当然后面有可能去向外键约束,是不是可以继续追加这个啊啊好啊,它是这。
05:57
来写,那么其中的话,前面注意看,前面可以省略,也就是名字我们可以不起,嗯,这有啥可笑的呀,这个名字可以不起对吧,那有的说那老师不起的话呢,我我们有名字吗?这个不起他也有默认名不起,有名默认名,你比方说我们试一下啊好,所以搜狗的好处就是我们可以直接再删,对不对,删了再建,比方说我这块删了。
06:33
删了之后呢,我们把这个给你去掉,其实这个check就应该去掉它是吧,没啥用,好成功了,那么现在呢,我们来看一下效果,我没我们没有起名吧,没有起名大家看它有没有名字,有啊,你看那个主键还是叫这个啊,然后你会发现那个文一键是默认的就是你的字段名啊,那个外键默认的是不是也是你的字段名啊啊,它会有一个默认名啊嗯,反正的话就是说你要不起名,它就提供成这样的名字了,根据自己的需要,你选择起还是不起,对不对,他这样一个意思啊,行吧,那这个就是跟大家把列级约束和表级约束的加法都说完了,那有的同学就可以就开始想了,说那我什么时候用列的,什么时候用表的呀,我给大家写一个通用的写法啊,通用的写法。
07:33
通用的写法怎么去写呢?我们一般来讲的话呢,呃,就是我们前边的这几种啊,像primary呀,还有唯一呀,你都可以放在什么上面列集上,然后外键我们放在哪个地方呢?哎,就是表题上,所以给你写一个通用的,比方说我们SQ音镑,当然说我这就是衣服一个this词哈,SQ音镑,那我给你写一个通用的,哎,它是这样的idt,我们直接primary pay,因为这样是不是简单呀,哎,然后呢,S to name we Cha,然后这个是not no not no,你肯定是不是也写这啊,然后再来一个sex差啊一这个好像没什么约束,对吧?嗯,I int,是不是来一个DEF方T18呀,你写这个地方还差一个什么座位号,Sit in,然后来一个unit,是不是这样写呀,然后再来一个major ID in。
08:33
好,逗号,继续加表级,表级约束,你根据需要可以看一下加不加名,如果加名,一般的外键约束的名字是这么加FK是不是方K的缩写呀,再加你的当前的表明,再加下划线你的主表明,因为这样别人一看是不是就知道你这个外键引用的谁啊,为什么这样写?因为一个表可以添加多个外键,你要不都叫MK,是不是搞不清楚了,而且会报错啊,其实它会报错,也就是我们的约束名不可以重复,能听懂吧,不可以重复啊,所以为了分清,你最好这么写好,再去写foreign pay你的major ID,嗯,In去了references我们的major表,然后ID完事。哎,这样去写,哎,那好了,我先也是删一遍哈,把它删删除在这儿。
09:33
好,删入成功,然后呢,我们再去创建执行啊,诶这个哪有没有错误啊,他说过哪个附近有错误啊exist啊if not exist是吧?啊好了,那么现在呢,我们再去执行。好,成功了吧,这个就完了哈。行吧,这就是一个我们创建约束的时候怎么。
我来说两句