`
Action-人生
  • 浏览: 105743 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

constraint的一些用法总结

Sql 
阅读更多
constraint的一些用法总结
主要就是增加约束的
以下几种约束 、并 一一列举:
1.主键约束:
要对一个列加主键约束的话,这列就必须要满足的条件就是分空
因为主键约束:就是对一个列进行了约束,约束为(非空、不重复)
以下是代码  要对一个列加主键,列名为id,表名为emp
格式为:
alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)
例子:
alter table emp add constraint ppp primary key (id)
————————————————————————————————
2.check约束:
就是给一列的数据进行了限制
比方说,年龄列的数据都要大于20的
表名(emp) 列名(age)
格式:
alter table 表名称 add constraint 约束名称 增加的约束类型 (列名)
例子:
alter table emp add constraint xxx check(age>20)
______________________________________________________________________
3.unique约束:
这样的约束就是给列的数据追加的不重复的约束类型
格式:
alter table 表名 add constraint 约束名称 约束类型(列名)
比方说可以给ename列加个unique,让ename列的数据不重复
例子:
alter table emp add constraint qwe unique(ename)
————————————————————————————————
4.默认约束:
意思很简单就是让此列的数据默认为一定的数据
格式:
alter table 表名称 add constraint 约束名称 约束类型 默认值) for 列名
比方说:emp表中的gongzi列默认为10000
alter table emp add constraint jfsd default 10000 for gongzi

————————————————————————————————
5.外键约束:
这个有点难理解了,外键其实就是引用
因为主键实现了实体的完整性,
外键实现了引用的完整性,
应用完整性规定,所引用的数据必须存在!
其实就是个引用,
比方说一个表名称叫dept 里面有2列数据 一列是ID一列是ENAME
id:表示产品的编号
ename:表示产品的名称
另外一个表格名称是emp 里面有2列数据,一列是ID 一列是DID
id:表示用户号
did:表示购买的产品号
要让emp表中的did列去引用dept表中的id
可以用下面的方法
格式:
alter table 表名 add constraint 约束名称 约束类型 (列名) references 被引用的表名称(列名)
例子:
alter table emp add constraint jfkdsj foreign key (did) references dept (id)
但是我经过试验默认约束这样做并不好用,我有一个例子,像我这样建表就好用了:

属性
类型(长度)
默认值
约束
含义
STUNO
数值 (8)

主键
学号
SNAME
变长字符 (12)

非空
姓名
SEX
字符 (2)


性别
BIRTHDAY
日期


生日
EMAIL
变长字符 (20)

唯一
电子邮件
SCORE
数值 (5, 2)

检查
成绩
CLASSNO
数值 (2)

外键,关联到表CLASS的CLASSNO主键
班级编号

Create table student(
stuno number(8) ,
sname varchar2(12) not null,
sex char(2) default '男',
birthday date,
email varchar2(20),
score number(5,2),
classno number(2),
constraint student_stuno_pk primary key(stuno),
constraint student_email_uk unique(email),
constraint student_score_ck check(score>=0),
constraint student_classno_fk foreign key (classno) references class(classno));
部分出处:http://blog.csdn.net/steven_oyj/archive/2009/11/01/4754061.aspx
http://blog.sina.com.cn/s/blog_5eec6f3a0100hxwn.html
分享到:
评论

相关推荐

    验证GraphQL字段使用constraint作为验证输入数据的指令

    总结起来,`@constraint`指令为GraphQL提供了一种优雅的输入数据验证方式,使得验证逻辑更加集中、易于理解和维护。通过结合JavaScript开发中的表单验证技术,我们可以构建更健壮、用户体验更好的应用程序。在实际...

    constraint代码约束Demo

    总结起来,"constraint代码约束Demo"为我们提供了一个实践案例,展示了如何利用Java代码实现ConstraintLayout的约束设置和管理,从而创建出灵活、适应性强的Android用户界面。通过熟练掌握这一技术,开发者能够更...

    validate+@Constraint自定义注解1

    总结来说,通过自定义`@Constraint`注解和相应的验证器类,我们可以实现灵活的数据验证逻辑,以满足项目中的各种需求。在Spring Boot中,这样的注解可以应用于表单提交、REST API参数等多种场景,大大增强了应用的...

    Object Constraint Language, The: Getting Your Models Ready for MDA, Second Edition

    ### 关于《Object Constraint Language, The: Getting Your Models Ready for MDA, Second Edition》的知识点总结 #### 一、Object Constraint Language(OCL)简介 **Object Constraint Language**(对象约束语言...

    django数据模型on_delete, db_constraint的使用详解

    总结来说,理解并正确使用 `on_delete` 和 `db_constraint` 参数对于构建健壮且灵活的Django应用至关重要。它们允许你在数据模型层面上定义删除行为和关系约束,以适应不同场景的需求,同时保持数据的一致性和完整性...

    Constraint

    这允许我们为泛型类、接口、方法或委托定义规则,限制它们可以使用的类型。约束确保了编译时的安全性,使得我们可以利用类型系统的强大功能来编写更加灵活和可重用的代码。下面我们将深入探讨C#中的约束及其应用。 ...

    Constraint Solver-开源

    CPSolver是一款专门用于求解约束满足问题(Constraint Satisfaction Problems, CSP)和优化问题的开源软件。它的设计目标是提供一个灵活、高效的框架,使开发者能够快速构建和解决各种实际问题。CSP涉及变量、域和...

    隐藏TabBar的一些方法小结

    本篇文章将总结几种常见的隐藏TabBar的方法。 1. **使用Storyboard中的Visual Format Language (VFL)** 在Storyboard中,可以通过约束来控制TabBar的显示状态。利用VFL,我们可以设置TabBarController的底部约束为...

    [PDF] Complexity Results for Boolean Constraint Satisfaction Problems

    总结来说,本文献全面分析了布尔CSP问题的复杂性结果,并探讨了使用代数方法、Emil Post的分类理论、以及Galois理论在解决布尔CSP问题上的应用。通过对布尔CSP问题的深入探讨,该文献为我们提供了一套全面的理论分析...

    X.682-Abstract Syntax Notation One (ASN.1): Constraint specification

    **X.682-Abstract Syntax Notation One (ASN.1): Constraint specification** 是一个重要的标准文档,它不仅提供了 ASN.1 中约束规范的定义,还详细介绍了如何使用这些约束来确保数据的一致性和有效性。通过遵循这一...

    Constraint_Layout:活动约束布局

    本文将深入探讨Constraint_Layout的核心概念、功能特性、使用方法以及与传统布局的区别,帮助开发者更好地理解和应用这一高效工具。 1. **核心概念** - 约束布局基于二维图形的约束系统,允许视图之间建立关系,...

    alter 的使用方法

    根据提供的标题、描述以及部分代码示例,我们可以深入探讨`ALTER`命令的具体用法及其应用场景。 ### 一、ALTER 命令概述 `ALTER`命令主要用于修改数据库对象,如表、视图等。对于表来说,`ALTER`命令可以用于添加...

    Constraint_Programming_and_SAT_solver

    约束编程(Constraint Programming,CP)是一种用于解决离散优化问题的计算机科学方法。它通过定义一组变量和它们之间的约束关系来表述问题,然后寻找满足所有约束条件的变量值组合。在Python中,约束编程库如`PyCSP...

    iOS自动布局高级用法及纯手码约束写法

    本文介绍了iOS自动布局的一些高级用法及其纯手码约束写法。通过理解这些技术和技巧,开发者可以在复杂的界面设计中更加高效地使用Auto Layout,实现高质量的UI设计。同时,掌握手动编写约束的方法也有助于解决...

    Protel使用经验总结

    ### Protel使用经验总结 #### 一、元器件标号管理 在Protel的设计过程中,元器件标号的管理非常重要,正确的标号不仅方便后期的焊接与调试,还能提高电路板的整体美观度。 - **自动产生或重置元器件标号**:可以...

    Constraint_Iinear:TugasPAM(LinerConstraint)

    总结起来,"Constraint_Iinear:TugasPAM(LinerConstraint)"这一主题揭示了线性约束在数据聚类中的重要应用。通过对PAM算法的理解,我们可以看到线性约束如何帮助我们构建有效的优化模型,从而在解决实际问题时找到...

    ZogSolver/Constraint Programming Solver-开源

    **标题解析:** "ZogSolver/Constraint Programming Solver-开源" 这个标题提到的是一个名为"ZogSolver"的项目,它是一个专为约束编程问题设计的求解器。"Constraint Programming Solver"指的是用于解决约束满足...

    Bean Validation 技术规范特性概述

    - **验证接口(Valid)**:在方法参数或返回值上使用`@Valid`注解,可以触发对整个对象图的深度验证。 **2. 自定义约束** 除了内置的约束注解外,Bean Validation还允许开发者自定义约束。这包括创建自定义注解...

    关于主键的添加、更换、删除的总结

    删除主键约束的操作比较简单,只需使用`ALTER TABLE`和`DROP CONSTRAINT`即可。 ##### 示例代码: ```sql -- 删除名为 PK_ 的主键约束 ALTER TABLE person5 DROP CONSTRAINT PK_; ``` #### 注意事项 1. **数据一致...

Global site tag (gtag.js) - Google Analytics