- 浏览: 496232 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
主键:
1.可以定义一列或多列为主键。不允许空(NULL),主健可作外健,唯一索引不可;
2.定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。
唯一键(唯一性约束):
1.唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,
指定列上都不允许有相同的值,允许空(NULL)
2.唯一约束可以用于保证在基表中增加一条记录时,一个或多个列值是唯一的。
唯一索引:可以定义一列或多列为唯一索引
索引:是为了方便查询数据快速定位
外键:增加子表记录时,是否有与之对应的父表记录,如果主表没有相关的记录,从表不能插入
1.主健、唯一键,都会自动建立唯一索引;
2.主健可作外健,唯一索引不可;
3.主健不可为空,唯一索引可;
4.在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,但在默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引
5.约束和索引, 前者是用来检查数据的正确性,后者用来实现数据查询的优化,目的不同。
唯一性约束与唯一索引有所不同:
1.创建唯一约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的唯一索引。
2.创建唯一索引只会创建一个唯一索引,不会创建Constraint。
3.也就是说其实唯一约束是通过创建唯一索引来实现的。
删除时这两者也有一定的区别:
1.删除唯一约束时可以只删除约束而不删除对应的索引,所以对应的列还是必须唯一的,
2.而删除了唯一索引的话就可以插入不唯一的值。
1.主键约束和唯一键约束均会隐式创建同名的唯一索引,当主键约束或者唯一键约束失效时,隐式创建的唯一索引会被删除;
2.主键约束要求列值非空,而唯一键约束和唯一索引不要求列值非空;
3.相同字段序列不允许重复创建索引;
1.索引键值不会存储空值,所以索引为空时不从索引取值
2.其实就是只索引非NULL值,唯一索引也一样,跳过NULL值不做索引
3.如果两个字段构成了一个唯一约束,其中一个字段为空,那么另一个字段的值不能出现重复。全部为NULL的情况,仍然和单字段唯一约束一样,不会造成重复,
4.唯一键是可有多行是NULL 值的
5.在mysql oracle的innodb引擎中,是允许在唯一索引的字段中出现多个null值的。
聚集索引:
由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。
但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
非聚集索引
数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。
索引中的项目按索引键值的顺序存储,而表中 的信息按另一种顺序存储(这可以由聚集索引规定)。
1.可以定义一列或多列为主键。不允许空(NULL),主健可作外健,唯一索引不可;
2.定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。
唯一键(唯一性约束):
1.唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,
指定列上都不允许有相同的值,允许空(NULL)
2.唯一约束可以用于保证在基表中增加一条记录时,一个或多个列值是唯一的。
唯一索引:可以定义一列或多列为唯一索引
索引:是为了方便查询数据快速定位
外键:增加子表记录时,是否有与之对应的父表记录,如果主表没有相关的记录,从表不能插入
1.主健、唯一键,都会自动建立唯一索引;
2.主健可作外健,唯一索引不可;
3.主健不可为空,唯一索引可;
4.在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,但在默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引
5.约束和索引, 前者是用来检查数据的正确性,后者用来实现数据查询的优化,目的不同。
唯一性约束与唯一索引有所不同:
1.创建唯一约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的唯一索引。
2.创建唯一索引只会创建一个唯一索引,不会创建Constraint。
3.也就是说其实唯一约束是通过创建唯一索引来实现的。
删除时这两者也有一定的区别:
1.删除唯一约束时可以只删除约束而不删除对应的索引,所以对应的列还是必须唯一的,
2.而删除了唯一索引的话就可以插入不唯一的值。
1.主键约束和唯一键约束均会隐式创建同名的唯一索引,当主键约束或者唯一键约束失效时,隐式创建的唯一索引会被删除;
2.主键约束要求列值非空,而唯一键约束和唯一索引不要求列值非空;
3.相同字段序列不允许重复创建索引;
1.索引键值不会存储空值,所以索引为空时不从索引取值
2.其实就是只索引非NULL值,唯一索引也一样,跳过NULL值不做索引
3.如果两个字段构成了一个唯一约束,其中一个字段为空,那么另一个字段的值不能出现重复。全部为NULL的情况,仍然和单字段唯一约束一样,不会造成重复,
4.唯一键是可有多行是NULL 值的
5.在mysql oracle的innodb引擎中,是允许在唯一索引的字段中出现多个null值的。
聚集索引:
由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。
但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
非聚集索引
数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。
索引中的项目按索引键值的顺序存储,而表中 的信息按另一种顺序存储(这可以由聚集索引规定)。
发表评论
-
SQL常用语句
2022-07-21 19:09 211delete from cacherefresh where ... -
ES数据同步方案
2022-06-24 10:57 2308//============================= ... -
SQL存储过程例子和有用的SQL
2022-02-19 09:20 201delete from cacherefresh where ... -
SQL优化对比与总结
2021-01-09 14:44 38019000000 b表 SELECT * from b w ... -
执行存储过程测试
2020-12-30 16:47 386--执行存储过程创建 if (exists (select * ... -
mysql提高insert into 插入速度的方法
2018-12-14 17:26 6112mysql提高insert into 插入 ... -
Mysql并发时经典常见的死锁原因及解决方法
2018-12-08 09:30 3065Mysql并发时经典常见的死锁原因及解决方法 MySQL有 ... -
数据库沉余实现方式
2018-12-04 17:30 1021数据库沉余实现方式 canal 原理相对比较简单: (1)c ... -
最终一致性的常用做法
2018-12-01 22:28 641最终一致性的常用做法 ... -
库存扣减和锁
2018-11-29 16:19 2库存扣减和锁 在对数据库的值进行修改时,如果在多线程情况下 ... -
Spring Boot中整合Sharding-JDBC
2018-11-26 18:03 3447Spring Boot中整合Sharding-JDBC ... -
MYSQL 主从、读写分离、分库分表、高可用、数据安全
2018-11-19 18:03 1737MYSQL 主从、读写分离、分库分表、高可用、数据安全 ... -
mybatis-generator 使用
2018-05-19 11:29 562http://www.cnblogs.com/Jason-Xi ... -
eclipse JPA Tools 使用
2018-05-14 17:11 779https://blog.csdn.net/guoxin91/ ... -
mybatis 通用查询实现
2018-03-26 10:04 1425package com.oceano.modity.entit ... -
存储过程 函数
2017-10-27 17:59 477存储过程 函数 存储过 ... -
分页查询例子
2017-10-19 10:22 780分页查询例子 Mybatis分页插件PageHelper的 ... -
数据库同步工具
2017-10-14 14:27 1342数据库同步工具 goden gate Oracle Go ... -
ETL工具
2017-09-01 15:14 762ETL工具 ETL,是英文 Extract-Transfor ... -
PowerDesigner 对比pdm文件内容变化工具
2017-08-06 14:24 706PowerDesigner 对比pdm文件内容变化工具
相关推荐
GoldenGate 同步无主键无唯一索引表的问题及解决方案 在数据同步中,无主键无唯一索引表的同步问题是常见的困扰, GoldenGate 作为一款优秀的数据同步工具,也遇到了这个问题。因此,本文将讨论 GoldenGate 同步无...
1、 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 2、 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 3、 唯一性索引列允许空值,而主键列不允许为空值。 4、 主键列在创建时...
下面是主键和索引的一些区别与联系。 1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一...
Oracle GoldenGate 针对表没有主键或唯一索引的解决方案 Oracle GoldenGate 是一种 数据复制和集成工具,用于在不同的数据库管理系统之间复制和集成数据。然而,在使用 Oracle GoldenGate 复制事务数据时,如果表...
一、 创建主键(主键=主键索引=聚集索引) 主键是什么? 答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。 原本没有创建的主键的表在磁盘上存储为: Id=0;username=username0;sex...
即使一个列上有唯一索引,如果不指定为主键,那么它就不是主键,不具有主键的全部约束特性。唯一索引可以用于实现部分数据完整性,但并不像主键那样有强制的非空属性。 在数据库设计中,主键常被用作外键,以建立表...
LNH_MySQL 18-主键-唯一-普通索引创建及删除小结.mp4
唯一键同样不允许重复的值,但它的主要区别在于可以用来约束非主键的列。在上述的学生表例子中,`Citizen_ID`可以设置为唯一键,确保每个学生的公民ID都是独一无二的,即使某个学生没有公民ID,该列可以接受一个NULL...
在MyISAM引擎中,唯一索引和主键索引的区别不大,除非唯一索引包含NULL值。而在InnoDB中,主键作为聚集索引,而其他唯一索引和辅助索引仅作为非聚集索引。这导致了查询性能上的差异,辅助索引查询可能需要额外的步骤...
MySQL中的主键与唯一索引约束是数据库设计中至关重要的概念,它们确保数据的唯一性和完整性。主键是一种特殊的唯一索引,它定义了一个表的唯一标识,不允许有重复值且不能为空。唯一索引则允许有空值,但索引中的每...
外键是一个表中的列或列组合,它的值来自于另一个表的主键或其他唯一索引。外键用于建立两个表之间的关系,实现数据的参照完整性。 **2.3 唯一键 (Unique Key)** 唯一键与主键类似,但不同之处在于一个表中可以有...
以下将详细介绍如何创建学员信息表,创建唯一索引,以及如何修改表来添加主键和检查约束。 首先,我们来理解"创建学员信息表"。在Oracle中,我们可以使用`CREATE TABLE`语句来创建新的表。一个典型的学员信息表可能...
3. **主键(Primary Key)**:在数据库设计中,主键是一个特定的候选键,用于唯一标识一个表中的每一条记录。主键是在创建表时指定的一个候选键,用作实体完整性的主要保障手段。主键具有两个重要特性:唯一性和非空...
根据提供的标题、描述以及部分代码内容,我们可以了解到这篇文章主要探讨的是如何在Oracle数据库中查询所有用户表的相关信息,包括表名、主键名称、索引、外键等元数据信息。接下来,我们将对这些知识点进行详细的...
2. 唯一性:主键索引保证了索引项的唯一性,因此在B+树的每个节点中,键值都是唯一的。对于复合主键,所有字段组合的值必须全局唯一。 3. 非叶节点存储键值:B+树的非叶子节点只存储键值,不存储数据,这样可以减少...
在数据库中,索引、主键和约束是至关重要的概念,而SQL(Structured Query Language)则是与数据库交互的语言。 首先,索引是提高数据库查询速度的关键工具。它们类似于书籍的目录,使得数据库能够快速定位到特定的...
3) **索引类型**:唯一性约束默认创建非聚集索引,而主键创建的通常是聚集索引,这影响了数据在磁盘上的存储方式。 最后,**约束(Constraint)**是对表中数据的一种限制,它确保了数据的完整性。约束可以是主键、...
**唯一键**与主键相似,也是保证数据唯一性的约束,但有以下不同: 1. 允许空值:唯一键允许包含空值,而主键不允许。 2. 不是主键:一个表可以有多个唯一键,但只有一个主键。 **左联接**和**右联接**是SQL中的两...
这个过程通常涉及删除数据库中的所有表、存储过程、主键、外键以及索引等对象。下面我们将详细探讨这些概念及其在数据库中的作用,以及如何安全有效地执行删除操作。 首先,让我们逐一了解这些数据库元素: 1. 表...