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

来源:互联网 发布:python 添加盲水印 编辑:程序博客网 时间:2024/06/11 16:39

创建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或femalestu_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_checkadd constraints tab_check primary key(che_id);
     
  • 添加唯一约束
    --添加唯一约束,tab_check_unique表示约束的名称alter table tab_checkadd constraints tab_check_unique unique(che_name);

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

  • 删除约束:
    --删除主键约束alter table tab_checkdrop 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_stuadd constraints tab_stu foreign key(class_id) references tab_class(class_id);


原创粉丝点击