让你记住你记不住的数据库约束

         

       对于数据库中的约束,初学者会觉得,这么多的语句而且还都这么的相似我哪里记得住呢?下面我相信你看了我的博客应该很快就会记住,而却我保证绝对不会乱!废话不多说进入主题 !


一、 数据库约束的作用和分类


     primarykey  和unique他们的作用是为了不让表中有重复的数据(一个表)

     check表示表中列的数据的范围性的定义(一个表)

     defult表示表中的默认值

      foreignkey 表与表之间的联系(两个或两个以上的表)


 

二、针对约束创建有两种不同的思想

第一、创建标的时候一同将约束创建了

第二、你的表已经创建好了,向表中添加约束


 

三、下面我就一一的介绍他们


一、 primary key 主键约束

Ⅰ两种写法

①   在已经创建的表中添加约束

解释:添加约束的时候一定要修改表故用(alter[修改])

       Alter table table1

Add primary key (列名1,列名2)

②   同表一起创建

Create table table1

(列名1  数据类型  是否为空 primary key ,

列名1  数据类型  是否为空

)

  上面的是两种情景为一个字段设置主键,接下来是以多个列作为主键。

 Create table table1

 (

        列名1   数据类型   是否为空,

列名2  数据类型   是否为空,

列名3   数据类型   是否为空,

Primary key (列名1 ,列名2)

)


二、Check约束


这个和主键约束差不多

 Alter table table1

 Add unique(列名)


三、外键约束


好多的同学一直也都不理解外键约束,到底什么才是外键?主键在那个表上?外键在那个表上?用T-SQL语句写的时候是主表在前,还是外间表在前?等等一系列的问题!

接下来我讲给大家说说这个主外键到底怎么弄的。

其实,主外键之间正如它的名字一样,他们之间有一个主从关系,一个主表,一个从表,主表上面设置的是主键,从表上面设置的是外键(foreign key),主键表中的数据发生变化的时,外键(foreign key)表的数据立刻就发生改变。

Ⅰ向已有的表中添加一个主键(没有就是添加,添加就是修改表)

   Alter table table1

   Add froeign key (列名1)references table2(列名2)

     Ⅱ 创建表的时候一同创建外键

      Create table table1

     (列名4 数据类型  是否为空 primary key,

      列名3 数据类型  是否为空,

      列名1 数据类型  references table2 (列名2)


注:

Table1外键表

Table2主键表

列名1是主表列

列名2是外键表列

最一般常用的是主表的列和外键表的列的字段是一样的

一般多为ID 可以作为主键的。这是两个之间的交互。

 

四、Check约束


     他也是基于一个表中的约束,限定表中列直接爱你数据的参照关系。

     Ⅰ 向一个以创建的表中添加约束

       Alter tabel table1

         Add constraint 约束名 check(列名对于列的限制条件)

   多是一些可以找到范围的数据,例如年龄,身高,体重。


五、default 默认约束


     他是一个对于某一个值的约束,他是唯一的一个用for关联词的句子

     向表中添加一个默认约束

Alter tabletable1

Add default ‘默认值’for 列名 

 

六、删除约束


删除约束也是对于表的修改故:

Alter table table1

Drop constraint 约束名

 

注:上面就是我所理解的一些约束。想要记住他们并不难

1 开头的一般都是 alter table 表名  或是create table 表名

2 在已有的表中添加约束用 alter

3 与表同时创建用 create

4 他们所有的关键字:

主键  约束:primary key

唯一性约束:unique

外键  约束:froeign key….references(参照)…..[两个表之间的关系,该是互相参照]

查询  约束:….. constraint(约束)…….check[对字段查询,对字段约束]

默认  约束:…….default………….for(给)……. 将前面默认的值 给 后边的字段


      到此这篇博客就结束了。不知道大家有什么想法,要是有什么不好理解,或是我有写的不对的地方希望大家指出来!我也是一个学习者,希望得到大家的帮助!

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值