Oracle中五种管制

原创
小哥 3年前 (2022-10-30) 阅读数 82 #大杂烩

Oracle五个约束:主键约束、外键约束、唯一约束、检查约束、非空约束。

主键约束:每个数据表中只有一个,但一个主键约束可以由数据表中的多列组成。

创建主键约束的两种方法:

(1)在创建表时直接创建主键约束,使用primary key(字段名)就足够了。

示例:创建表tmp_test1包括字段test_id、test_name,其中test_id是主键。

CREATE TABLE TMP_TEST1 (
TEST_ID NUMBER(4),
TEST_NAME VARCHAR2(8),
CONSTRAINTS PK_TEST_ID PRIMARY KEY (TEST_ID)
);

(2)使用ALTER TABLE语句将主键约束添加到表中。

ALTER TABLE TMP_TEST1 ADD CONSTRAINTS PK_TEST_ID PRIMARY KEY(TEST_ID);

删除主键约束的方法:

ALTER TABLE TMP_TEST1 DROP CONSTRAINT PK_TEST_ID ;

注意:PK_TEST_ID     要删除的约束的名称。

2.外键约束:外键约束确保引用使用外部约束的数据库列。 主键约束的数据列是一致的。 、外键约束在一个表中可以有多个。

创建外键约束的两种方法:

(1)在创建表时创建外键约束;

FOREIGN KEY约束是在两个表中建立的约束,建表后需要添加以下语句;

constraint constraint_name foreign key(column_name)
reference table_name(column_name)
on delete cascade;
语法说明:
constraint_name:创建的外键约束的名称。
foreign key(column_name):指定外键约束的列名;
reference:要引用的表名(列名);
ON DELETE CASCADE:设置级联删除。删除主键的字段时,也会删除外键对应的字段。

例如:

create table tmp_test3(
test_id number(4),
test_name varchar2(8),
test_dept_id number(2),

constraint fk_test1 foreign key (test_dept_id) references test_dept (dept_id) on delete cascade);

注意:test_dept表中dept_id该字段是PRIMARY KEY约束的字段。

create table test_dept(dept_id number(2),
dept_name varchar2(10));

alter table test_dept add constraints pk_test_dept primary key (dept_id);

(2修改数据库时增加外键约束;

alter table tmp_test3 add constraint tset_dept foreign key (dept_id)
reference test_dept(dept_id)
on delete cascade;

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门