关闭

Oracle数据库的字段约束创建和维护

标签: oracleSQL约束
47038人阅读 评论(0) 收藏 举报
分类:

创建Oracle数据库的字段约束:

  • 非空约束
  • 唯一约束
  • 对字段的取值的约束
  • 默认值
  • 外键约束
    create table tab_class(
     class_id number primary key,
     class_name varchar2(10) not null unique
    );
    create table tab_stu(
    stu_id number,
     --学生姓名,不能为空,不能重复
    stu_name varchar2(20) not null unique,
     --学生姓名只能是male或female
    stu_gender varchar2(6) not null check(stu_gender='male' or stu_gender='female'),
     --学生年龄只能在18到60之间
    stu_age number check(stu_age >18 and stu_age <60),
     --邮箱可以不填写,填写的话不能相同
    stu_email varchar2(30) unique,
    stu_address varchar2(30),
    --外键约束
    class_id number not null references tab_class(class_id) 
    );


维护已经创建好的约束:

  • 可添加或删除约束,但不能直接修改。
  • 可使约束启用和禁用。
  • 非空约束必须使用MODIFY子句增加。
  • 为表增加主键约束:
    --维护约束
    --创建约束
    create table tab_check(
     che_id number,
     che_name varchar2(20)
    );
    --为表增加主键约束
    alter table tab_check
    add constraints tab_check primary key(che_id);
     
  • 添加唯一约束
    --添加唯一约束,tab_check_unique表示约束的名称
    alter table tab_check
    add constraints tab_check_unique unique(che_name);

  • 添加检查约束:
    --添加一个字段
    alter table tab_check
    add che_age number;
    --添加检查约束
    alter table tab_check
    add constraints tab_check_age check(che_age>18 and che_age<60);

  • 删除约束:
    --删除主键约束
    alter table tab_check
    drop constraints tab_check;

  • 禁用约束:
    --禁用约束
    alter table tab_check disable constraints tab_check;

  • 启用约束
    --启用约束
    alter table tab_check enable constraints tab_check;

  • 复合约束,联合主键,也就是两个字段的组合成一个主键
    --联合主键
    create table tab_person(
     tab_firstname varchar2(10),
     tab_lastname varchar2(10),
     tab_gender varchar2(5),
     primary key(tab_firstname,tab_lastname)
    );

  • 为表添加外键约束:
    alter table tab_stu
    add constraints tab_stu foreign key(class_id) references tab_class(class_id);


0
0
查看评论

为Oracle 和 MSSQL 数据库表里的字段添加约束

修改不同的表要写不同的alter table 不同的表 alter table 你的表--此为修改表约束 add /*必须包含add 添加*/ constraint/*约束,也必须包含*/ --固定用法 alter table '表名' add constrai...
  • myflysun
  • myflysun
  • 2014-01-03 09:10
  • 1737

oracle 11g之ACL拙见

Oracle中ACL(访问控制列表)的创建、授权与取消授权,删除控制文件。
  • zxnlmj
  • zxnlmj
  • 2014-04-03 22:32
  • 1807

创建和使用约束

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;...
  • zgqtxwd
  • zgqtxwd
  • 2008-04-29 11:37
  • 161

创建和删除约束

使用sql语句创建和删除约束 主建约束:(primary key constraint); 唯一约束:(unique constraint); 检查约束:(check constraint); 默认约束:(default constraint); 外建约束:(foreign k...
  • shiyanming1223
  • shiyanming1223
  • 2013-09-23 15:39
  • 584

创建和维护数据库

  • cykjliqian
  • cykjliqian
  • 2010-04-09 21:00
  • 136

Https系列之一:https的简单介绍及SSL证书的生成

Https系列目前分下面几篇文章: 一:https的简单介绍及SSL证书的生成 二:https在服务器端的部署,基于tomcat,spring boot 三:让服务器同时支持http、https,基于spring boot 四:https在Android客户端基于okhttp,Retrof...
  • gary_yan
  • gary_yan
  • 2017-09-14 09:05
  • 917

oracle数据库添加约束

实验要求:创建一个学生表student,默认的表空间为users,字段自定,同时为表的各个字段分别添加合适的约束,然后测试约束的验证状态; 第一步:创建临时的表空间 create temporary tablespace user_temp tempfile 'g:\oraclemdf\...
  • gz153016
  • gz153016
  • 2015-10-21 22:52
  • 623

表的创建和维护

表的创建和维护  修改表的约束条件:      1.增加商品名称不能为空 alter table goods modify  goodsName not null;    2.增加身份证不能重复 alter table cust...
  • csdt_csdt
  • csdt_csdt
  • 2013-10-17 08:30
  • 498

java实现二叉树创建和遍历

今天晚上我学习了java语言的二叉树创建和遍历算法。 实现的机制和上一节课差不多。 代码如下: package 二叉树链表; public class Node { private int value; private Node leftChild; private Node ri...
  • jjfly999
  • jjfly999
  • 2016-03-08 21:34
  • 758

sql创建和使用约束

创建和使用约束约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章)。在SQL Server 中有5 种约束:主关键字约束(Primary Key Constra...
  • nailwl
  • nailwl
  • 2009-10-28 11:37
  • 409
    欢迎关注个人微信号
      欢迎关注微信账号:在路上的coder .每天一篇java相关或互联网相关的文章




    个人资料
    • 访问:825948次
    • 积分:2956
    • 等级:
    • 排名:第14098名
    • 原创:87篇
    • 转载:4篇
    • 译文:0篇
    • 评论:26条
    资源分享地址
    个人博客地址
    博客专栏
    最新评论