首页数据库oracle中如何创建、删除、禁用和使用唯一约束

oracle中如何创建、删除、禁用和使用唯一约束

时间2024-03-23 20:28:03发布访客分类数据库浏览1470
导读:这篇文章给大家分享的是“oracle中如何创建、删除、禁用和使用唯一约束”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“oracle中如何创建、删除、禁用和使用唯一约...
这篇文章给大家分享的是“oracle中如何创建、删除、禁用和使用唯一约束”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“oracle中如何创建、删除、禁用和使用唯一约束”吧。


本篇文章给大家带来了关于Oracle的相关知识,其中主要介绍了添加唯一约束的相关问题,唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约束,下面一起来看一下,希望对大家有帮助。

1 目标

用演示样例演示怎样创建、删除、禁用和使用唯一性约束

2 什么是唯一性约束?

唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约束。

联合字段中,可以包括空值。

注:在Oracle中,唯一性约束最多能够有32列。

唯一性约束能够在创建表时或使用ALTER TABLE语句创建。

3 唯一性约束和主键的差别

  • 主键(Primary Key):全部组成主键的列都不能包括空值。
  • 唯一性约束(Unique Constraint):假设唯一性约束由多列组成,当中的部分列能够包括空值。
  • Oracle中不容许在同样列上既创建主键又创建唯一性约束。

4 创建表时定义唯一性约束

1)语法:

CREATE TABLE table_name
(
    column1 datatype null/not null,
    column2 datatype null/not null,
    ...
    CONSTRAINT constraint_name UNIQUE (column1, column2,...,column_n)
);
    

2)基于单列的唯一性约束演示样例:

create table tb_supplier
(
  supplier_id          number not null
 ,supplier_name        varchar2(50)
 ,contact_name         varchar2(50)
 ,CONSTRAINT tb_supplier_u1 UNIQUE (supplier_id)--创建表时创建唯一性约束
);
    

3)基于多列的唯一性约束演示样例:

create table tb_products
(
  product_id        number not null,
  product_name      number not null,
  product_type      varchar2(50),
  supplier_id       number,
  CONSTRAINT tb_products_u1 UNIQUE (product_id, product_name) --定义复合唯一性约束
);
    

5 使用ALTER TABLE语法创建唯一性约束

1)语法

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
UNIQUE (column1, column2, ... , column_n);
    

2)演示样例准备,先创建表

drop table tb_supplier;
    
drop table tb_products;
    

create table tb_supplier
(
  supplier_id          number not null
 ,supplier_name        varchar2(50)
 ,contact_name         varchar2(50)
);
    

create table tb_products
(
  product_id        number not null,
  product_name      number not null,
  product_type      varchar2(50),
  supplier_id       number
);
    

3)基于单列的唯一性约束

alter table tb_supplier
add constraint  tb_supplier_u1
unique (supplier_id);
    

4)基于多列的唯一性约束

alter table tb_products
add constraint  tb_products_u1
unique (product_id,product_name);
    

6 禁用唯一性约束

1)语法:

ALTER TABLE table_name
DISABLE CONSTRAINT constraint_name;
    

2)演示样例:

ALTER TABLE tb_supplier
DISABLE CONSTRAINT  tb_supplier_u1;
    

7 使用唯一性约束

1)语法:

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;
    

2)演示样例:

ALTER TABLE tb_supplier
ENABLE CONSTRAINT tb_supplier_u1;
    

7 删除唯一性约束

1)语法:

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
    

2)演示样例:

ALTER TABLE tb_supplier DROP CONSTRAINT tb_supplier_u1;
    
ALTER TABLE tb_products DROP CONSTRAINT tb_products_u1;
    

以上就是关于“oracle中如何创建、删除、禁用和使用唯一约束”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: oracle中如何创建、删除、禁用和使用唯一约束
本文地址: https://pptw.com/jishu/651579.html
PHP遍历数组去掉空格元素的方法是什么? python中的基本运算符有哪些,用法是什么?

游客 回复需填写必要信息