您现在的位置是:网站首页> 编程资料编程资料
Oracle数据库的字段约束创建和维护示例_oracle_
2023-05-27
414人已围观
简介 Oracle数据库的字段约束创建和维护示例_oracle_
创建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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- Oracle用户密码过期和用户被锁的解决方法_oracle_
- Linux 7下脚本安装配置oracle 11g r2教程_oracle_
- Oracle高级队列(Advanced Queue)简单实例_oracle_
- oracle11g 通过修改配置文件方式连接远程数据库的方法_oracle_
- Oracle ASM数据库故障数据恢复解决方案_oracle_
- oracle插入字符串数据时字符串中有'单引号问题_oracle_
- oracle 查询当天数据的sql条件写法_oracle_
- 误删除$ORACLE_HOME/dbs下的参数文件、密码文件快速重建的方法_oracle_
- EF 配置Oracle数据库的具体操作方法_oracle_
- Oracle触发器表发生了变化 触发器不能读它的解决方法(必看)_oracle_
