00:00
行了,那咱们接着看今天的一个新的内容啊,今天新的内容,那这个新的内容是首先第一个呢,就是我们得讲一下这个约束,约束这块我们在上节课最后的时候说了一个就是非故约束,我们接下来看看唯一性约束行吧。约束啊来我们叫唯一性约束,唯一性约束怎么写UNUN对,首先呢,第一个呢,就是唯一性约束,就是修饰的字段啊,唯一约束修饰的字段具有唯一性,不能重复啊,不能重复但可以为空啊。但可以为那有的老师,那这个不合理呀,那你有一个下边有一个none,下边有个none,这三个不是重复了吗?不是直。
01:02
那不是指中间不能画等号,大家还记得吗?那和那不一样啊,我们可以认为它是不一样。所以说唯一性约束这一块呢,咱们具有这个修饰的这个字段具有唯一性,不能重复啊,但可以为呢,我们来一个案例,比如说我们那个用户表的用户名,就用户名,我们在这个注册的时候,用户名就不能重啊,对不对啊,来吧,Drop table,如果说这张表要是存在的话,是不是咱们把这张表再干掉吧,来create table,哎,我们把这张表怎么着啊,造出来,那这张表创建的时候呢,我们这块呢,加一个ID,加一个username呗,ID的话我们就印它是不是username这块呢,我们就挖叉,挖叉二五,假如说啊,我们家里就那个。就这么写呗,好,我们insert into t下user这张表value,我们直接插入值呗,一逗号我们写什么呀?张三是不是来二,然后来再一个张三,我们把这段代码复制一下行不行?复制一下我们看最后这个语句报不报错?
02:14
行吧,来走一个,第一个是删,删了吧,第二个是不是撞了,撞了之后,三是不是插入了,四再执行,你看报错了你看。你看编号1062DUENT重复是不是张三four key nameme,就username这个字段重复了,就这个重复了,报错了。是不是,但你能不能这么干呢?Insert into呢,直接就是说我直接在这个位置上给上去一个ID,完事之后呢,我这边只给一个二,我再来一个,我给一个三,再来一个,我给一个四,诶这样行不行呢?就是另外那个username这个字段为空行不行,哎,这个是可以的,Select from。
03:06
就说你这个字段啊,具有什么性啊,唯一性,但是您这个字段呢,可以为。但不能重复啊。不能重。张三只能出现一次。再往下就不能出现张三了,就这意思。但可以没呢?有很多同学记不住这个。总觉得唯一性也不能为纳。有唯一性可以为闹,我再强调一下这个事啊,好,这个是一个案例,那么接下来我们来看一看什么呢?就是说这个唯一性约束,能不能给两个字段同时加唯一性约束。就是我们现在这个唯一性约束是出现在什么这个字段的后面。我们能不能就是说这个唯一性约束,我们能不能说给这两个字段加呢。
04:02
我们我们可以看看啊,就是说我们再来个案例,这是给给什么,给某一列吧,添加什么用。是吧,那么给两个列或者多个列添加什么,那怎么加。那把这个这个这个这个语句咱们复制一下吧,咱就不再写了,太费劲了是不是,哎,那这张表呢,我就再加一个user name,加一个什么email有行吧,哎,那这个是不是UN,就是我想我想做这么一个效果啊。什么效果,就是这个字段和这个字段联合起来。联合起来为。哎呀,这个例子不合适啊,加一个用户代码吧,用户代码啊,就这个呢,是用户的ID啊。
05:06
这是用户的代码,下边这个这个是什么呢。这就是用户编号,这样去理解就行了,这是用户名,我有一个要求是什么?用户编号和用户名两个合起来怎么着具有唯一性?那那怎么做呀,哎,加这样一个unit啊,括号在这加,各位不能在这个后边加了啊,在后边加的话就表示。你。具有唯一性,在这个后面加就代表这个具有唯性,在这个位置加U,什么code逗号username,就表示user code username2个字的联合起来具有什么唯一性,诶我得给大家说一下啊,这个地方加UNUN,你告诉我这两个有啥区别?
06:29
就我们现在在讲唯一性,唯一性约束这块。就在再往后字段后边加这个很好理解,就是说这个字段不能为呃,不能重复吧。那如果给两个列同时加,我们可以试验一下insert into t一下,就user这张表,然后其中呢,我们这个直接values吧,然后这块是一用户代码是111,然后逗号是张三,然后往后就没了,接下来把这个复制一下贴过来,贴过来,然后这个呢写二,这写三啊这个是111李四,这个是张三222行不行。
07:29
没问题吧?不对呀,不是不能重复吗?我这说的是你这个两个字段联合起来不能重。也就是说,因111张三和111李四可不一样。这个和这个连起来是什么?是111ZS,下面这个连起来是111李四,111LS,这个和这个是不是不一样,听懂了吗?就是说括号的这种方式,指的是给您多个字段联合起来添加几个约束一个,这是加了几个约束两个,这个是说这个字段,这个是说这个字段。
08:27
你这是加了两个约束,跟这个可不一样啊。听懂了吧?那也就是说我问大家,我再来个语句啊,我这块写111行不行,现在。重了没有,还没咱还没重啊亲。
09:06
报错了。不跟这个没关系啊,跟这个没关系。不行。这就是说你在列的后面加,跟在我声明完列之后单独加的一个区别。区别那这块呢,咱们。要知道啊,这是多个字段联合起来添加一个约束啊,多个字段联合添加约束那个。那行了,这个位置呢,保存一下。
10:03
我们把这个。可以复制一份吗?拿过来,放到这儿。行不行啊。肯定不行啊,这个具有唯一性,是不是你这个不能重啊,重了重了之后咱们来执行一下看看。出错了。第一个保存进去了,第二个没进去。第二个出问题了。重了,1111111啊,重重。所以说呢,这个UN呢。A。在列后面添加有一个专业的术语,叫列级约束。如果说你没有在字段后面添加。
11:01
等所有字段声明完之后,在这单独添加,这个有专业术语叫表级约束各位,我重点是为了讲这个啊。表级约束,它的级别不一样。级别不一样啊,如果是在列后边直接加就列举。如果在这个表创建的时候,声明字段我们在这里加。标记。这俩概念你得先记住啊,什么时候需要用表级?一起。多字,多个字段联合听下去时候需要用表,除这种情况之外,单独字段加的话,是不是都可以往后边加?是吧,哎,或者说我们的这个列级能不能写成表级。这个列级能不能写成表集,就是说我不往这加。
12:04
我给这一个字段加后边换行,用哪个括号里边只写几个一个行不行啊也行,所以说我劝各位啊。你要是实在记不住,你就记一个表记就行了。记一个表弟啥意思?就说你要是一个字段上添加约束的话,你也在后面写。明白吧?这这个好记,当然我觉得记住上面这个也有好处,是这种方式。就很直接很简单,往后直接就完事了。所以说你看你情况吧,这两种方式你尽量都记住啊,尽量都记住,表级的也会,列级往后边加的也会啊。记住就行了,好了,那这个关于这个约束叫唯一性约束这块我们就讲完了,各位。
13:07
我问大家一个问题啊,之前我们讲的那个非空约束有没有表级定义方式?就飞空是not not吗?Notno那种方式他有没有这个表级的这种定义方式,没有各位啊,我再提醒一下,Not down呢,只能在字段的后边加。只有列级定义方式,没有表记,没有这个语法啊,你不用试了,我试过了啊,你不用试了,对,我已经试过了,你们试了我就直接告诉你这个答案就是非空约束,它是只能加到。
14:00
字段后面,那这个事呢,我在这里也给大家说一下,注意啊,就是not啊,这个约束只有劣迹约束。没有点击约束啊好了,那关于这个唯一性约束,我们就说到这。
我来说两句