Oracle添加表约束的2种方法
方法一、在列的级别上定义约束
create table product (
Pname varchar2(20) unique,
Pdate date not null,
PID number(5) primary key,check(PID>10000 AND PID<=99999),
Ploc char(30) default '北京')
要点就是在列的结尾直接添加,如果同一列有多个约束,通过逗号来分隔
有个问题,通过数字字典来查询约束,我们得到的是系统提供的名字并且约束的类型不好区分。
SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';
CONSTRAINT_NAME CONSTRAINT_TYPE
------------------------------------------------------------ --
SYS_C009539 C
SYS_C009540 C
SYS_C009541 P
SYS_C009542 U
U:表示unique
P:primary key
C:check或者default
查看列的默认值:
SQL> select column_name,datA_dEfault from useR_tab_columns where table_name = 'PRODUCT';
COLUMN_NAME DATA_DEFAULT
------------------------------------------------------------ --------------------------------------------------------------------------------
PNAME
PDATE
PID
PLOC '北京'
方法二、在表级别上定义约束:
Create table product(
PID number(5),
PNAME varchar2(20),
PDATE date constraint NN_PDATE_PRODUCT not null,
PLOC char(30) default ‘北京’,
FKDEPTNO number(5),
Constraint UK_PNAME_PRODUCT unique(PNAME),
Constraint PK_PID_PRODUCT primary key(PID),
Constraint CK_PID_PRODUCT check(PID>10000 AND PID<9999),
Constraint FK_DEPTNO foreign key (FKDEPTNO) references dept(DEPTNO)
);
SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
NN_PDATE_PRODUCT C
CK_PID_PRODUCT C
PK_PID_PRODUCT P
UK_PNAME_PRODUCT U
FK_DEPTNO_PRODUCT R
删除约束
Alter table product drop primary key;
Alter table product drop constraint PK_PID_PRODUCT;
Alter table product drop unique (PNAME);
Alter table product modify(PDATE,null);
Alter table product modify(PLOC,default null)/modify(PLOC ,default ‘威海’);--更改默认值
Alter table product drop constraint FK_DEPTNO;
外键、check约束只能使用约束名来删除,其他约束如果有约束名也可以使用约束名来删除
增加约束
Alter table product add primary key (PID);
Alter table product add constraint PK_PID primary key(PID);
Alter table product add unique(PNAME);
Alter table product modify(PDATE, not null);
Alter table product modify(PLOC ,default ‘威海’);
- 大小: 43.2 KB
分享到:
相关推荐
创建表时,可以将`not null`约束添加到字段定义中,如`Create table UserInfo(UserID varchar2(20), UserPassWord varchar2(20) constraint N_UserPassWord not null, ...)`。若表已存在,可使用`Alter table modify...
`语法,例如,向`emp`表添加一个薪资检查约束`emp_chk_sal CHECK(sal >= 800);`。 - **删除约束**:使用`ALTER TABLE table_name DROP CONSTRAINT constraint_name;`语句,如`ALTER TABLE emp DROP CONSTRAINT emp...
在Oracle数据库中,约束是用于确保数据完整性的规则或规定,它们定义了表中的数据必须遵循的特定条件。约束可以在创建表时定义,也可以在表已经存在后通过修改表结构来添加。以下是对Oracle数据库中四种主要约束类型...
外键约束是一种用于保证两个表之间数据一致性的机制。当两个表存在关联时,通过在外键表(子表)中设置外键约束,可以确保该表中的特定字段(外键字段)只包含那些在主表(父表)的相应主键字段中存在的值。这样,就...
Oracle表结构生成工具是一种实用程序,它允许用户利用Excel电子表格快速创建Oracle数据库的表结构。这个工具的主要目的是提高数据库设计的效率,特别是在处理大量数据表定义时。下面将详细介绍这个工具及其工作原理...
从给定的文件信息中,我们可以深入探讨Oracle数据库中的数据对象,特别是表、约束和视图,这些都是构建和管理数据库的核心元素。 ### 表(Table) 表是数据库中最基础的数据存储结构,它由一系列行和列组成,每行...
你可以选择添加约束,如主键或唯一键,来限制表类型中的数据。 接下来,我们讨论如何声明和使用表变量。表变量是基于已定义的表类型的实例,它们可以作为局部变量在PL/SQL块中声明。例如: ```sql DECLARE my_...
Oracle中的临时表是一种特殊的数据结构,用于存储会话或事务期间的数据,这些数据仅对当前会话可见,并在特定条件下自动清除。Oracle提供两种类型的临时表:事务型和会话型。 事务型临时表在事务开始时创建,插入的...
本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数,并生成对应的MySQL创建表语句(DDL)。 #### 参数...
也可以在现有表上添加唯一性约束: ```sql ALTER TABLE Employees ADD CONSTRAINT emp_uk UNIQUE (EName, Phone); ``` 使用`USING INDEX`关键字可以为唯一性约束指定索引存储空间: ```sql ALTER TABLE Employees...
### Oracle 11i 表结构详解 #### 一、Oracle 11i 概述 ...通过深入理解表结构、关系以及触发器、弹性域等高级特性的使用方法,开发者可以更好地利用Oracle 11i的强大功能,构建出高效稳定的应用系统。
首先,Oracle约束可以分为五种类型: 1. **NOT NULL约束**:不允许字段值为空,确保了字段必须有值。 2. **UNIQUE约束**:确保字段中的值是唯一的,但允许有NULL值。 3. **PRIMARY KEY约束**:定义表的主键,它是一...
3. 数据注解:根据需要添加如`[Key]`(主键标识)、`[Required]`(非空约束)等特性,以提供更多的元数据信息。 例如,一个名为`Employees`的表,有`EmployeeID`(主键)、`FirstName`、`LastName`和`Position`等...
本笔记主要探讨了两个关键概念:约束和索引,这些都是Oracle数据库中的基础但至关重要的元素。 **1. 约束(Constraints)** 约束是Oracle数据库中用于确保数据完整性的规则。它们分为以下几种类型: - **非空约束...
以下将详细介绍如何创建学员信息表,创建唯一索引,以及如何修改表来添加主键和检查约束。 首先,我们来理解"创建学员信息表"。在Oracle中,我们可以使用`CREATE TABLE`语句来创建新的表。一个典型的学员信息表可能...
**添加约束**: ```sql ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型 (字段列表); ``` **示例**:向`student`表中添加一个名为`pk_student`的主键约束。 ```sql ALTER TABLE student ADD CONSTRAINT pk_...
- 约束与表相关联,可以通过`CREATE TABLE`或`ALTER TABLE`命令添加、修改或删除。 - **临时禁用约束**: - `ALTER TABLE book_example DISABLE CONSTRAINT book_example_1;`:暂时禁用表`book_example`上的约束`...
- 已创建的表添加主键约束:`ALTER TABLE table1 ADD PRIMARY KEY (列名1, 列名2)` - 表创建时同时设定主键:`CREATE TABLE table1 (列名1 数据类型 是否为空 PRIMARY KEY, 列名2 数据类型 是否为空)` 2. 唯一...
详细介绍了oracle的常见约束,表级约束(主键),列级约束,唯一性约束,外键约束,并介绍了如何给相应的约束命名