博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
五大约束
阅读量:5925 次
发布时间:2019-06-19

本文共 1549 字,大约阅读时间需要 5 分钟。

数据库中的五大约束:

 

1.----主键约束(Primay Key Coustraint) 唯一性,非空性

 

2.----唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个

 

3.----检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)

 

4.----默认约束 (Default Counstraint) 该数据的默认值

 

5.----外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列

【主键】

1.主键的注意事项?
主键默认非空,默认唯一性约束,只有主键才能设置自动增长,自动增长一定是主键,主键不一定自动增长;
2.设置主键的方式?
在定义列时设置:ID INT PRIMARY KEY
在列定义完之后设置:primary KEY(id)

【外键】

1.设置外键的注意事项:   

只有INNODB的数据库引擎支持外键,修改my.ini文件设置default-storage-engine=INNODB    外键必须与参照列的数据类型必须相同(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同)。

2设置外键的语法:

   CONSTRAINT 外键名 FOREIGN KEY (外键字段)REFERENCES 参照表 (参照字段)    ON DELETE SET NULL ON UPDATE CASCADE 设置参照完整性

3.外键约束的参照操作?  

  参照表的完整性操作:当对参照表的参照字段进行删除或更新时,外键表中的外键如何应对;   

参照操作可选值:

 

1.----添加主键约束(将stuNo作为主键)

 

/*修改表 stuInfo 添加主键约束 设置主键列为 stuNo */

 

alter table stuInfo add constraint PK_stuNo primary key (stuNo)

 

2.----添加唯一约束(身份证号唯一,因为每个人的都不一样)

 

/*修改表 stuInfo 添加唯一约束 指定是那个列要建立这个约束*/

 

alter table stuInfo add constraint UQ_stuID unique(stuID)

 

3.----添加默认约束(如果地址不填 默认为“地址不详”)

 

/*修改表 stuInfo 添加默认约束 把学生住址 默认为 ‘地址不详’*/

 

alter table stuInfo add constraint DF_stuAddress default ('地址不详') for stuAddress

 

4.----添加检查约束 (对年龄加以限定 15-40岁之间)

 

/*修改表 stuInfo 添加对年龄的检查约束*/

 

alter table stuInfo add constraint CK_stuAge check (stuAge between 15 and 40)

 

/*修改表 stuInfo 添加对性别的约束*/

 

alter table stuInfo add constraint CK_stuSex check (stuSex='男' or stuSex='女')

 

5.----添加外键约束 (主表stuInfo和从表stuMarks建立关系,关联字段stuNo)

 

/*修改表 stuInfo 添加外键约束 外键列涉及到 表stuInfo的列*/

 

alter table stuInfo add constraint FK_stuNo foreign key(stuNo)references s

转载于:https://www.cnblogs.com/skyhorseyk/p/7048883.html

你可能感兴趣的文章
区间覆盖问题 贪心
查看>>
超级楼梯 递推动规
查看>>
Linux C 创建目录函数mkdir相关(转-清新居士)
查看>>
老程序元对于新程序猿交代的事(身体是革命的本钱)
查看>>
spark共享变量
查看>>
了解oracle数据库的情况
查看>>
结构体初始化函数
查看>>
c++ 拾遗
查看>>
图论$\cdot$强连通分量
查看>>
查看android app 线程信息的命令
查看>>
HTML <img>标签 创建图像映射
查看>>
20165324 《Java程序设计》第3周学习总结
查看>>
github Android-Universal-Image-Loader
查看>>
第二章--第四节:运算符(二)
查看>>
HTML5移动开发即学即用(双色) 王志刚 pdf扫描版
查看>>
POJ 3261 可重叠k次最长重复子串
查看>>
虚拟内存原理
查看>>
常用上传图片生成缩略图
查看>>
晚11点
查看>>
leetcode Same Tree
查看>>