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添加唯一约束相关推荐

  1. mysql 表中添加唯一约束

    mysql表中添加唯一约束 在做权限系统中,有一张表叫用户角色关系表(user_role_relation),这张表中有user_id 和role_id(建表语句如下). CREATE TABLE u ...

  2. MySQL使用什么关键字添加唯一约束_mysql怎么添加唯一约束?

    方法:1.创建表时,使用"CREATE TABLE 表名(字段名 数据类型 UNIQUE);"语句来添加:2.修改表时,使用"ALTER TABLE 表名 ADD CON ...

  3. MySQL添加唯一约束和联合唯一约束(建表后添加)

    MySQL:添加唯一约束和联合唯一约束 在MySQL数据库中,经常会碰到由于业务需要添加唯一键约束,唯一键约束,可以在一个列上添加约束,也可以在多个列上添加唯一约束. 单列唯一约束 在一列上添加唯一约 ...

  4. mysql联合唯一约束_MySQL中添加唯一约束和联合唯一约束

    在MySQL数据库中,经常会碰到由于业务需要添加唯一键约束,唯一键约束,可以在一个列上添加约束,也可以在多个列上添加唯一约束. 一.单列唯一约束 在一列上添加唯一约束,主要是让该列在表中只能有唯一的一 ...

  5. MySQL中添加唯一约束和联合唯一约束

    在MySQL数据库中,经常会碰到由于业务需要添加唯一键约束,唯一键约束,可以在一个列上添加约束,也可以在多个列上添加唯一约束. 一.单列唯一约束 在一列上添加唯一约束,主要是让该列在表中只能有唯一的一 ...

  6. MySQL使用什么关键字添加唯一约束_MySQL使用____关键字添加唯一约束。

    [填空题]DATETIME类型使用____个字节来表示日期和时间. [填空题]通过____语句可以实现删除全部数据或部分数据. [填空题]MySQL使用____关键字添加唯一约束. [填空题]主键的值 ...

  7. mysql 给表添加唯一约束、联合唯一约束,指定唯一约束的名字

    表结构 FIELD TYPE COLLATION NULL KEY DEFAULT Extra PRIVILEGES COMMENT ------------- ------------ ------ ...

  8. oracle违法唯一约束怎么解决,Oracle “ORA-00001:违反唯一约束条件”和“ORA-00054: 资源正忙”错误解决...

    Oracle数据库对于常见的错误都会有报错提示,工作的这一年也碰到了一些错误,踩过一些坑,感谢那些前辈分享的问题和处理方案,正好这几天临近过年不太忙碌,就将一些错误描述,错误原因和解决方法整理后分享给 ...

  9. oracle 唯一索引,唯一约束,主键之间的联系

    主键(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录,在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录,,主键时一种唯一关键字,表定义的一部分. ...

最新文章

  1. 一天掌握AI核心技术,上手应用,开发者该划哪些重点?
  2. LNMP环境搭建(二)集成Nginx与PHP
  3. css里dom宽度,2019-08-23 DOM中各种高度、宽度
  4. GridView内嵌DropDownList操作
  5. DeepLearnign:windows tensorflow-cmake编译
  6. ubuntu18docker下安装MySQL
  7. .NET 6新特性试用 | 文件范围的命名空间
  8. 2020毕业论文写作大礼包(内含无限次免费查重、降重等软件)(福利)
  9. java聊天室课程报告_java课程设计报告(java聊天室).doc
  10. python画同心圆程序_如何用python画同心圆并内接一个五角星?
  11. SLAM【十】回环检测
  12. Olly Advanced 1.27
  13. vs2010背景图片配置方法
  14. Win XP中恢复受损的注册表
  15. 加拿大综合类大学排名获关注,盘点高校对雅思要求
  16. 数据应用案例之“客户画像体系”
  17. Postman任务栏图标丢失
  18. DAY 09 Python 操作Excel
  19. JavaWeb基本概念与术语
  20. 无法加载文件 ,因为在此系统上禁止运行脚本

热门文章

  1. 华为云服务器默认密码怎么修改,如何修改云服务器登陆密码
  2. 数据库 mysql 删除一列数据
  3. #036数字信息指南十分钟速成课
  4. 【Matlab系列】常用模拟和数字通信系统仿真及Matlab实现
  5. mysql cloud ha_MySQL HA
  6. linux 查看mysql
  7. 以中断方法设计单片机秒、分脉冲发生器
  8. git commit 命令详解
  9. 升级nodejs和npm到最新版
  10. MATLAB用imshow画图时更改和显示坐标轴