跟我学习记忆数据库的约束
对于数据库中的约束,初学者会觉得,这么多的语句而且还都这么的相似我哪里记得住呢?下面我相信你看了我的博客应该很快就会记住,而却我保证绝对不会乱!废话不多说进入主题 !
一、 数据库约束的作用和分类
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(给)……. 将前面默认的值 给 后边的字段
到此这篇博客就结束了。不知道大家有什么想法,要是有什么不好理解,或是我有写的不对的地方希望大家指出来!我也是一个学习者,希望得到大家的帮助!