`
anfslove
  • 浏览: 17966 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 约束 主键 唯一 外键 检查 非空 约束

阅读更多

/*
 注意:
   1.如果某个约束只作用于单独的字段,即可以在字段级定义约束,也可以在表级定义约束,
     但如果某个约束作用于多个字段,必须在表级定义约束
    
   2.在定义约束时可以通过CONSTRAINT关键字为约束命名,
     如果没有指定,ORACLE将自动为约束建立默认的名称
    
   3.非空约束只能定义在字段级别
*/

 

-- 创建教师表
-- drop table teacher cascade constraint;

create table teacher(
  id         number(6),
  name    varchar2(20),
  phone   varchar2(20),
  constraint pk_tea_id primary key (id)
);

 

-- 创建学生表
-- drop table student;
create table student(
  id           number(6)         /*primary key                                      */
,
  name      varchar2(20)      /*not null                                           */ ,  
  cardno     varchar2(20)      /*unique check(length(cardno)>18)         */
,
  tid          number(6)        /*references teacher(id)                         */

 

  /*也可如下这样做,可以自定义约束名称
  constraint pk_stu_id primary key (id),
  constraint uk_stu_cardno unique (cardno),
  constraint fk_tea_id foreign key (tid) references teacher (id),
  constraint ck_stu_cardno check(length(cardno)>18)*/
 
  /*还可如下这样做,但是约束名称是系统给的
  primary key (id),
  unique (cardno),
  foreign key (tid) references teacher (id),
  check (length(cardno)>18)*/

);

 

-- 如果建表的时候没有加上约束,也可以如下方式新添约束
-- 主键约束
alter table student add constraint pk_stu_id primary key(id);
-- 唯一约束
alter table student add constraint uk_stu_cardno unique(cardno);
-- 外键约束
alter table student add constraint fk_tea_id foreign key (tid) references teacher (id);
-- 检查约束
alter table student add constraint ck_stu_cardno check(length(cardno)>18);
-- 非空约束
alter table student modify(name not null);

 

-- 删除约束
-- 主键\唯一\检查\非空

alter table student drop primary key;
alter table student drop constraint pk_stu_id;
-- 外键
-- 方式一:先删除子表或者只删除子表的外键约束 然后使用drop table 表名删父表
-- 方式二:drop table 父表名 cascade constraints;


-- 禁用约束:
alter table 表名 disable constraint 约束名;
-- 启用约束
alter table 表名 enable constraint 约束名;

分享到:
评论

相关推荐

    oracle表主键和外键的区别

    主键和外键都是Oracle等关系型数据库管理系统(RDBMS)中的重要概念。 **主键**是定义一个表中起主要作用的数据项,它确保这些数据项在表中的唯一性。主键的特性包括: 1. 唯一性:主键的值在表中必须是唯一的,不...

    主键与外键的创建

    2. 非空性:主键列不能包含NULL值,因为NULL表示未知,无法用来唯一标识一条记录。 3. 不可变性:一旦数据插入,主键的值通常不应更改,以保持数据的一致性。 创建主键约束通常在创建表时完成,例如在MySQL中,你...

    oracle主键和外键[文].pdf

    主键约束保证了主表中的唯一性,而外键约束则维护了子表与主表之间的关联,`ON DELETE CASCADE` 规则使得删除操作能自动更新相关联的子表。在实际数据库设计中,要充分考虑这些约束的设置,以确保数据的完整性和业务...

    oracle创建表的方法和一些常用命令

    1、主键和外键主键:关系...注2:Oracle数据库共有5个约束:主键、外键、非空、唯一、条件非空:这个列的值不能为空(NOT NULL)唯一:这个列的值在表中是唯一存在的,不能重复,但可以为空值(NULL)条件:可以对列的

    oracle约束详解

    ### Oracle约束详解 在Oracle数据库管理系统中,约束是用于确保数据完整性和一致性的规则或条件。这些约束可以被定义在表级别的字段上,用来限制存储在表中的数据类型。通过实施约束,我们可以确保数据的质量,并...

    oracle中如何创建约束?

    约束可以分为多种类型,包括主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一(UNIQUE)、非空(NOT NULL)以及检查(CHECK)约束。本文将重点讨论在Oracle数据库中如何创建外键约束,同时也会提及其他类型的约束。 ...

    oracle约束和索引笔记

    - **非空约束(NOT NULL)**: 非空约束不允许字段值为NULL,确保该字段始终有值。 - **唯一约束(UNIQUE)**: 这种约束保证字段中的每个值都是唯一的,但允许NULL值。可以应用于单个字段或一组字段。 - **主键...

    Oracle所有约束基本语法

    - 非空约束强制字段不能包含NULL值。创建表时,可以将`not null`约束添加到字段定义中,如`Create table UserInfo(UserID varchar2(20), UserPassWord varchar2(20) constraint N_UserPassWord not null, ...)`。若...

    oracle基本约束语法

    例如,主键约束确保了每个用户的唯一标识,外键约束则保证了用户状态信息的有效性,非空约束确保了密码等重要信息不为空,而唯一约束可以应用于如邮箱地址等需要保证唯一性的字段。 在实际应用中,开发者需要根据...

    09oracle约束.pptx

    在Oracle中,可以通过设置数据类型、非空约束(NOT NULL)以及使用CHECK约束来实现。例如,你可以创建一个检查最大级别的CHECK约束,如`Constraint ch_cost check(max_lvl)`,这确保`max_lvl`列的值不会超过250。 2...

    Oracle数据库第4讲.ppt

    在创建这些表时,我们需要为每个表定义相应的约束,如主键、外键、非空、唯一性和检查约束。例如,客户姓名、单价、购买数量、电邮和性别都应受到相应的约束。如果在创建表时遗漏了约束,可以使用`ALTER TABLE`语句...

    08 oracle的 约束 ppt

    例如,在订单表中,订单日期是一个非常重要的信息,因此应该为其设置非空约束。 ### 五、检查约束(Check) 检查约束用于限制列中的值,它可以是一个简单的条件表达式,也可以是一个复杂的逻辑表达式。例如,如果...

    Oracle 约束 总结

    本文将详细地介绍Oracle中的五种主要约束类型:非空(NOT NULL)、唯一(UNIQUE)、主键(PRIMARY KEY)、外键(FOREIGN KEY)以及检查(CHECK)约束,并给出相应的创建与管理方法。 #### 1. 非空约束 (NOT NULL) ...

    Oracle字段约束.docx

    本文将深入探讨Oracle字段约束的五种主要类型:主键约束、唯一性约束、非空约束、检查约束以及外键约束。 首先,主键约束(PRIMARY KEY)是表的核心组成部分,它定义了一个或一组列,其值必须唯一且不能为NULL。...

    Oracle约束基本语法 修改表结构

    3. **PRIMARY KEY约束**:定义表的主键,它是一个或一组唯一且非空的字段,标识表中的每一行。 4. **FOREIGN KEY约束**:建立表之间的参照完整性,一个表的外键是另一个表的主键。 5. **CHECK约束**:用于限制字段值...

    Oracle中定义常用约束对象的命令

    本文将详细介绍五种常用的约束类型:非空约束(NOT NULL)、唯一性约束(UNIQUE)、主键约束(PRIMARY KEY)、外键约束(FOREIGN KEY)和检查约束(CHECK),并给出具体的创建和管理这些约束的方法。 #### 1. 非空...

    基于Oracle的数据库完整性约束分析.pdf

    - 列约束:主要涉及数据类型、取值范围、长度、精度和排序等,例如非空约束(NOT NULL)和唯一性约束(UNIQUE KEY)。 - 元组约束:涉及元组内部字段之间的关联,例如字段间的关系和逻辑条件。 - 关系约束:涉及多个...

    Oracle数据库第4讲.pptx

    例如,商品表、客户表和购买表的建表语句中应包含相应的约束,如主键、外键、非空、唯一性、检查等,以满足业务需求。如果在创建表后发现缺少约束,可以通过ALTER TABLE语句添加,而不再需要的约束可以使用DROP ...

    Oracle日常运维常用命令速查手册

    可以在定义列时指定非空约束,或者在定义完所有列之后指定非空约束。 例如,创建一个名为“学生” 的数据表,包含字段“学号”、“姓名”、“年龄”等,其中“姓名”为非空字段: CREATE TABLE 学生 ( 学号 ...

Global site tag (gtag.js) - Google Analytics