主键和唯一索引

MySQL中唯一索引和主键的区别 MySQL中唯一索引和主键的核心区别在于:主键具有非空约束且每表只能有一个,自动创建聚集索引并支持外键引用;而唯一索引允许空值且可创建多个,生成非聚集索引且不能被外键引用。主键通常用作表的主标识符并支持自增特性,而唯一索引则用于保证特定字段或字段组合的唯一性。两者在保证数据唯一性方面功能相似,但在约束强度和应用场景上存在明显差异。 阅读详情

一、创建主键的时候,会同时创建唯一性索引

1. 创建表:

    SQL> create table t(id int);

    Table created

2.为表添加主键约束:

    SQL> alter table t add constraint con_pk primary key(id);
    Table altered

3.查看oracle数据字典中表T的约束情况:

    SQL> select constraint_name,table_name from user_constraints where table_name='T';

    CONSTRAINT_NAME                TABLE_NAME
    ------------------------------ ------------------------------
    CON_PK                         T

4.查看oracle数据字典T表的索引情况:

    SQL> select index_name,table_name from user_indexes where table_name='T';
    INDEX_NAME                     TABLE_NAME
    ------------------------------ ------------------------------
    CON_PK                         T

5.结论:创建主键的时候,会同时创建唯一性索引。

二、删除主键的时候,默认会同时删除与之对应的唯一性索引

1.删除主键约束

    SQL> alter table t drop constraint con_pk;
    Table altered

2.查看约束、索引情况都没有返回值

3.结论:删除主键的时候,会同时删除与之对应的唯一性索引

三、如何在删除主键的时候,保留索引?

   SQL>alter table t drop constraint con_pk keep index;

四、与主键对应的唯一性索引,不能被单独删除

  SQL>create table t(id int);

  SQL>alter table t add constraint con_pk primary key(id);

  SQL>drop index con_pk;

  ORA-02429: 无法删除用于强制唯一/主键的索引

五、如果先创建了某一列上的唯一索引,则在该列上添加主键约束的时候,会与已存在的索引建立关联关系,删除主键的时候,默认会将此索引删除

  SQL>create table t(id int);

  SQL>create index index1 on t(id);

  SQL>alter table t add constraint con_pk primary key(id);

  SQL>alter table t drop constraint con_pk;

  此时查看约束、索引情况都没有返回值。

 

mysql系列之:建表实现主键自增、创建多个字段唯一约束、创建索引 阅读详情

相关推荐

oracle查询主键和唯一索引的表

1、oracle查询主键的表 SELECT OWNER, TABLE_NAME FROM DBA_TABLES A WHERE EXISTS ( SELECT * FROM DBA_CONSTRAINTS B WHERE A .TABLE_NAME = B.TABLE_NAME AND B.CONSTRAINT_TYPE = 'P') AND OWNER IN ('SYS'); 2、oracle查询主键和唯一索引的表 SELECT OWNER, TABLE_NA

Auspicious航的博客 3308

主键与主键索引的关系

http://www.51sdj.com 在oracle中,我们创建一个主键,则同时自动创建了一个同名的唯一索引;删除主键,则主键约束和对应的唯一索引都删除了。这是我们经常见到的现象。 发出一个创建主键的sql,oracle其实执行了两步:创建主键约束、创建/关联 唯一索引。步骤是这样的: 创建主键约束时,检查该主键字段上是否已经存在唯一索引。若不存在,则自动创建同名唯一索引;若存在,则...

weixin_30379973的博客 280

通义千问语言模型Qwen2.5架构详解

此外,将基于API的模型 Qwen-Plus 与领先的专有和开源模型进行了对比,包括 GPT4-o、Claude-3.5-Sonnet、Llama-3.1-405B和DeepSeek-V2.5。Qwen2.5-Math-72B-Instruct的整体性能超越了Qwen2-Math-72B-Instruct和GPT4-o,甚至是非常小的专业模型如 Qwen2.5-Math-1.5B-Instruct也能在与大型语言模型的竞争中取得高度竞争力的表现。近来也出现了明显的转向小型语言模型(SLMs)的趋势。

搏博的专栏 1万+

mysql怎么设置主键唯一性约束_MySQL主键约束和唯一性约束

MySQL主键约束和唯一性约束都是索引,它们的区别是:主键字段可以确保唯一性,但主键字段不能为NULL.唯一性约束可以确保唯一性,但唯一性约束的字段可以为NULL唯一性约束对含有NULL的记录不起作用,即可以重复加入含有NULL的记录,主键字段不能为NULLmysql-workbench无法创建多字段唯一性约束,可以在命令行手工增加增加多字段唯一性性约束mysql>alter table c...

weixin_34552166的博客 2429

医学成像学习笔记(一):核磁共振成像(MRI)k空间为何是图像频谱详解

前言   k空间是核磁共振成像图像重建的核心,可能很多人像笔者一样第一次学时会非常疑惑,为何k空间是图像的频域空间,观其填充过程,明明是空域信号的采样填充呀。网上很少有文章讨论这个问题,所以笔者在此写下自己的理解,供大家参考。 MRI位置编码   现在的MRI一次扫描的是一个断层或者多个断层,所谓断层就是一个有厚度的面,通过z方向梯度场来选择。我们扫描一个断层的目的是为了获得该断层各位置的质子情况,它们携带着组织的性质信息,反应出来的就是信号强度。如果整个断层都采用相同的磁场强度,而我们只能得到一个断

意疏的学习笔记 1万+

事件相机(Event Camera)及相关研究简介——新一代相机?新的计算机视觉领域?

事件相机(Event Camera)及相关研究简介 事件相机是一个新型的类脑相机,是一个待开发的大领域。希望通过我的分享,能够有更多人来研究并将它更好地运用在我们的生活中~

Cyril的博客 5万+

主键约束自动建立索引问题

约束用于确保数据库数据的完整性,在oracle数据库中,可以使用约束,触发器和应用代码(过程,函数)3种方法实现数据完整性,这3种方法中,因为约束易于维护,并且具有最好的性能,所以实现数据完整性首选约束.     一.约束分类 1.Not null: 确保字段值不能为空。   2.Unique:  确保字段值唯一性,但不阻止多个空值的插入。   3.Primary key:最常用的

布谷~~~Sun 4663

2023-12-26~2025-07-04备份

一、海康视觉与汇川机器人 服务器-客户端通信设置IP在同一网段名称IP端口类型海康相机工控机7930服务器机器人3000客户端海康VM服务器设置1通信管理 增添TCP服务端,设置本机IP:192.168.0.20,端口号79302 协议解析 通信双方约定通信格式(设置收发数据格式,分隔符)机器人客户端设置(不同类型机器人设置有差别)1 通讯服务设置 设置连接服务器IP、服务端端口号、机器人端口号,确保连接正常2 协议解析 使用指令代码构建通讯解析。

青铜小码农 3126

主键与唯一索引(unique index)

(1)创建表时,不能在同一个字段上建立两个索引(主键默认建立唯一索引),在需要经常查询的字段上建立索引(如:deal_id已经是主键,不能再次执行:create index tmp_table_index on tmp_table(deal_id),会报错);                 a) 主键:该字段没有重复值,且不允许为空                  惟一索引:该字段没有

想飞的鱼 3万+

Gamma变换算法之Matlab&FPGA实现

Gamma映射原理 什么是Gamma曲线 人眼的感光与光强并不是呈线性关系的,而是呈非线性关系(指数型关系,如下图左-曲线。在低照度下,人眼更容易分辨出亮度的变化,随着照度的增加,人眼不易分辨出亮度的变化。而图像传感器与输入光强呈线性关系(如下图左-直线)。从图中可见,当传感器感光在20%左右时,人眼感光响应达到了50%,人眼对低照度的变化更为敏感。从下图右侧可见,Reference Tone为人眼感光50%的亮度,而传感器在感光50%时则相对暗的多(见Select,近似中性灰)。这种将原始图像通过映射操

CrazyBingo的博客 7407

电阻基础知识及应用电路仿真(Multisim)

本文围绕硬件工程师必备的电阻知识,从基础知识、实操、应用仿真三方面做系统讲解:基础上明确电阻的核心参数、分类、串并联计算及核心特性;实操中详解贴片/色环电阻的阻值读取、贴片封装换算,重点区分0Ω电阻(贴装跳线,实现功能选通/调试等)与磁珠(高频吸噪)的差异及选型;应用上介绍限流、分压、上拉/下拉、阻抗匹配、过压/过流保护五大典型电路的设计公式、选型原则和实操要点,同时给出电阻通用的选型、测量和布线设计规范,形成完整的电阻应用知识体系。

XU157303764的博客 2775

主键和唯一索引的区别以及索引的优缺点

一 主键和唯一索引都要求值唯一,但是它们还是有区别的: ①.主键是一种约束,唯一索引是一种索引; ②.一张表只能有一个主键,但可以创建多个唯一索引; ③.主键创建后一定包含一个唯一索引,唯一索引并一定是主键; ④.主键不能为null,唯一索引可以为null; ⑤.主键可以做为外键,唯一索引不行; 二 主键约束比唯一索引约束严格,当没有设定主键时,非空唯一索引自动称为主键。对于主键和唯一...

zhang150114的博客 1万+

【系统分析师】高分论文:论软件开发方法及应用(数据中心CMDB 系统)

【摘要】本文以作者负责的"数据中心CMDB系统"建设项目为例,探讨了系统分析和建模方法在IT项目中的应用实践。项目基于ITIL框架,旨在整合分散的配置信息,构建统一CMDB平台。通过分析结构化、面向对象和构件化三种开发方法特点,项目最终采用结构化分析与V模型结合的方式,并融入面向对象设计理念。系统经过4个月开发后上线,通过增量迭代满足不同数据源接口需求,采用适配器模式提高兼容性。经过2个月试点运行和优化,系统已稳定运行并获得用户认可,为后续IT服务管理集成奠定了基础。项目实施使作者积累了

数据知道的博客 4300

主键和唯一索引区别

区别 1 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 2 主键创建后一定包含一个唯一性索引,唯一性索引不一定就是主键。 3 唯一性索引列允许空值, 而主键列不允许为空值。 4 主键可以被其他表引用为外键,而唯一索引不能。 5 一个表最多只能创建一个主键,但是可以创建多个唯一索引。 6 主键更适合那些不容易改变的唯一标识,如自动递增列,身份证号等。 7 在RBO 模式下,主键的执行计划优先级高于唯一索引。两者可以提高查询的速度 ...

qixiang2013的专栏 8093

用长tree方式做等长线

1)写一个sdc,把等长线的起点设置成clock source,用于创建create_clock,至于period和waveform等参数随便写即可。然后clock_opt -from build_clock -to route_clock即可。3)在正式cts之前或之后,给自己创建的scenario长tree并don't touch。前面讲过了如何用set_data_check做等长线,这里再讲一下如何用cts的方式做。2)为该clock创建一个新mode,并创建对应的scenario。

m0_61544122的博客 622

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

唯一索引和主键索引的区别

主键索引(Primary Key):唯一索引(Unique Index):主键索引:唯一索引:主键索引:唯一索引:NULL值处理:数量限制:性能影响:

z17826856787的博客 1289

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

主键和唯一索引区别?

一、唯一索引: 一是简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率; 二是MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。 CREA...

changfangyuansh 787

mysql主键和唯一索引_主键和唯一索引的有什么区别

主键和唯一索引的区别-- 区别主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。唯一性索引列允许空值,而主键列不允许为空值。主键列在创建时,已经默认为空值 + 唯一索引了。主键可以被其他表引用为外键,而唯一索引不能。一个表最多只能创建一个主键,但可以创建多个唯一索引。主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。...

weixin_39619451的博客 296

oracle中主键和唯一索引的区别说明

上周六去参加上海Oracle WDP俱乐部沙龙的一次交流,其中提到了关于“Oracle中主键和唯一索引的区别”,基本上大家都可以说上几个,在网上也可以找到,但是总感觉不太全,根据自己的理解总结了一下基本上有3大区别:1、主键每张...

1238

主键索引和唯一索引的区别

– 区别 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 唯一性索引列允许空值,而主键列不允许为空值。 主键列在创建时,已经默认为空值 + 唯一索引了。 主键可以被其他表引用为外键,而唯一索引不能。 一个表最多只能创建一个主键,但可以创建多个唯一索引。 主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。 在 R...

dxyzhbb的博客 1553

mysql 主键和唯一索引的区别

主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 唯一性索引列允许空值,而主键列不允许为空值。 主键列在创建时,已经默认为非空值 + 唯一索引了。 主键可以被其他表引用为外键,而唯一索引不能。 一个表最多只能创建一个主键,但可以创建多个唯一索引。 主键和唯一索引都可以有多列。 主键更适合那些不容易更改...

banjuan3729的博客 1732

唯一索引和主键索引的区别_数据库中,主键和索引的区别

1、应用范畴不同:主键属于索引的一种。在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。2、种类不同:根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。而,主键只是其中的一种。3、创建方式不同:当创建或更改表时可通过定义 PRIMARY KEY 约束来创建...

weixin_33375360的博客 1万+

主键和唯一索引的区别

-- 区别 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 唯一性索引列允许空值,而主键列不允许为空值。 主键列在创建时,已经默认为空值 + 唯一索引了。 主键可以被其他表引用为外键,而唯一索引不能。 一个表最多只能创建一个主键,但可以创建多个唯一索引。 主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。 在 RBO 模式下,主键的执行计划优先级要高于唯一索引。 两者可以提高查询的速度。 -- 创建

u010227042的博客 333
上一篇: oracle expdp/impdp用法简要介绍
下一篇: 老单词复习
narsh
博客等级 码龄19年 17粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值