Oracle中五种管制
原创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;
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除