SQL-约束

------------恢复内容开始------------

 

什么是约束?  

  约束对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性。

  例如:

    一个人的姓名不能为null;

    任意两个老师的老师标识不能一致;

    一个班级的学生不能小于1个;

    通过学号,得到名字,年龄

  

怎么使用约束?

  可以在创建表的时候声明,也可以通过alter table table-name add constraint constrain-name ... 将约束添加到已经建立的表上.

  约束:

    主键约束

      alter table table-name add constraint primary key(col)

 

    not null约束

      禁止插入空值.(一个人的姓名不能为null) 

      多是在新建表的时候设置,name varchar(20) not null

 

    default约束

      不插入值的时候默认值

      alter table table-name add constraint constraint-name default(默认值)

 

    unique约束

      没有两个元组所在的列的属性上的值相同(任意两个老师的老师标识不能一致)

      unique(A1,A2,A3...An)<指出属性A1.A2....An中没有一个列上出现重复的值>

      alter table table-name add constraint constraint-name unique(A1,A2...)

 

    check子句

      check(p)表中的每个元组都必须满足子句P(一个班级的学生不能小于1个)   

      alter table table-name add constraint constraint-name check(count>0)

 

    foreign

      foreign key(StudentID) references Student

      alter table table-name add constraint constraint-name foreign key(col) references 主表(col)

      

      

 

------------恢复内容结束------------

posted @   菜鸟7513  阅读(135)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示