您现在的位置是:群英 > 数据库 > 关系型数据库
oracle中如何创建、删除、禁用和使用唯一约束
Admin发表于 2022-05-07 17:50:371369 次浏览
这篇文章给大家分享的是“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中如何创建、删除、禁用和使用唯一约束”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: oracle唯一约束
相关信息推荐
2022-08-15 17:34:59 
摘要:在oracle中,可以利用select查询语句配合“is”和“NULL”关键字来查询空字段,NULL关键字用于表示空字段,语法为“select * from 表名 where 字段名 is NULL”。
2022-09-14 17:55:02 
摘要:转换方法:1、用CAST(),语法“SELECT CAST('值' AS SIGNED);”;2、用CONVERT(),语法“SELECT CONVERT('值',SIGNED);”;3、用“+”运算符,语法“SELECT '值'+0;”。
2022-04-27 11:27:01 
摘要:给大家带来一篇关于理解MySQL创建全文索引的相关教程文章,内容涉及到MySQL、全文索引、MySQL创建全文索引分享等相关内容,更多关于MySQL创建全文索引分享的内容希望能够帮助到大家。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部