zoukankan      html  css  js  c++  java
  • 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(12not null,
    sex char(2default '',
    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

  • 相关阅读:
    轻松管理您的网络password
    尝到awk
    重载虚函数的相关问题
    阿赫亚web安全JSON
    SplitContainer如何实现左侧导航,正确显示和导航内容
    POJ 3450 Corporate Identity KMP解决问题的方法
    virtio-blk分析
    JavaScript权威指南科03章 种类、值和变量(1)
    iOS开展-Xcode技巧总结(持续更新)
    POI设置边框
  • 原文地址:https://www.cnblogs.com/gredswsh/p/sql_constraint.html
Copyright © 2011-2022 走看看