精华内容
下载资源
问答
  • 1.一个表只能有一个主索引-PRIMARY,且只有是数据库表才有主索引,后缀.CDX,索引关键字是不可以重复的.哪怕是记录也只可以有一条.2.候选索引可以有很多个,索引关键字同样不可以重复,同样只存在于数据库表.3.唯一...

    1.一个表只能有一个主索引-PRIMARY,且只有是数据库表才有主索引,后缀为.CDX,索引关键字是不可以重复的.哪怕是空记录也只可以有一条.

    2.候选索引可以有很多个,索引关键字同样不可以重复,同样只存在于数据库表.

    3.唯一索引,可以存在于自由表,但索引关键字不可以重复.

    4.普通索引简单的理解就是只起排序作用.索引关键字是可以重复的.可存在于自由表.

    主键与唯一索引的区别

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

    CREATE UNIQUE INDEX test_UniqueKey ON test (UniqueKey);

    聚集索引:

    聚集索引基于数据行的键值,在表内排序和存储这些数据行。每个表只能有一个聚集索引,应为数据行本分只能按一个顺序存储。

    在聚集索引中,表中各行的物理顺序与索引键值的逻辑(索引)顺序相同。聚集索引通常可加快UPDATE和DELETE操作的速度,因为这两个操作需要读取 大量的数据。创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。  www.2cto.com

    非聚集索引:

    因为一个表中只能有一个聚集索引,如果需要在表中建立多个索引,则可以创建为非聚集索引。表中的数据并不按照非聚集索引列的顺序存储,但非聚集索引的索引行中保存了非聚集键值和行定位器,可以快捷地根据非聚集键的值来定位记录的存储位置。

    无论是聚集索引,还是非聚集索引,都可以是唯一索引。在SQL Server中,当唯一性是.数据本身的特点时,可创建唯一索引,但索引列的组合不同于表的主键。例如,如果要频繁查询表Employees(该表主键为 列Emp_id)的列Emp_name,而且要保证姓名是唯一的,则在列Emp_name上创建唯一索引。如果用户为多个员工输入了相同的姓名,则数据库 显示错误,并且不能保存该表。

    展开全文
  • 唯一约束和唯一索引区别

    千次阅读 2017-09-21 21:02:55
    3) 主键列上没有任何两行具有相同值(即重复值),允许(NULL).4) 主健作外健,唯一索引不可; 2.唯一性约束(UNIQUE) 1) 唯一性约束用来限制受主键约束的列上的数据的唯一性,用于作为访问...
    1.主键约束(PRIMARY KEY)
    1. 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键
    2. 2) 是不可能(或很难)更新.
    3. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).
    4. 4) 主健可作外健,唯一索引不可;

    2.唯一性约束(UNIQUE)
    1. 1) 唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,
    2. 一个表上可以放置多个唯一性约束.
    3. 2) 只要唯一就可以更新.
    4. 3) 即表中任意两行在 指定列上都不允许有相同的值,允许空(NULL).
    5. 4) 一个表上可以放置多个唯一性约束

    3.唯一索引(INDEX)
    1. 创建唯一索引可以确保任何生成重复键值的尝试都会失败。
    2. 唯一性约束和主键约束的区别:
    3. (1).唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,
    4. 不但不允许有重复,而且也不允许有空值
    5. (2).在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,
    6. 但在默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引

       约束和索引, 前者是用来检查数据的正确性,后者用来实现数据查询的优化,目的不同。
       唯一性约束与唯一索引有所不同:
    1. (1).创建唯一约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的唯一索引。
    2. (2).创建唯一索引只会创建一个唯一索引,不会创建Constraint。
    3. 也就是说其实唯一约束是通过创建唯一索引来实现的。
    1. 1. 建表时加上唯一性约束
      1. CREATE TABLE `t_user` (
      2. `Id` int(11) NOT NULL AUTO_INCREMENT, -- 自增
      3. `username` varchar(18) NOT NULL unique, -- 唯一性约束
      4. `password` varchar(18) NOT NULL,
      5. PRIMARY KEY (`Id`)
      6. ) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=utf8;

    2. 2.给已经建好的表加上唯一性约束
      1. ALTER TABLE `t_user` ADD unique(`username`);


     在删除时这两者也有一定的区别:
    1. 删除唯一约束时可以只删除约束而不删除对应的索引,所以对应的列还是必须唯一的,
    2. 而删除了唯一索引的话就可以插入不唯一的值。
    1. 索引是使用 create/drop index 创建和删除的
    2. 而约束是使用 alter table tb add constraint 建立, 使用 drop constraint 删除



    展开全文
  • 1.一个表只能有一个主索引-PRIMARY,且只有是数据库表才有主索引,后缀.CDX,索引关键字是不可以重复的.哪怕是记录也只可以有一条.2.候选索引可以有很多个,索引关键字同样不可以重复,同样只存在于数据库表.3.唯一...
    1.一个表只能有一个主索引-PRIMARY,且只有是数据库表才有主索引,后缀为.CDX,索引关键字是不可以重复的.哪怕是空记录也只可以有一条.
    2.候选索引可以有很多个,索引关键字同样不可以重复,同样只存在于数据库表.
    3.唯一索引,可以存在于自由表,但索引关键字不可以重复.
    4.普通索引简单的理解就是只起排序作用.索引关键字是可以重复的.可存在于自由表.

    主键与唯一索引的区别

     

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

     

    CREATE UNIQUE INDEX test_UniqueKey ON test (UniqueKey);  
    聚集索引: 
          聚集索引基于数据行的键值,在表内排序和存储这些数据行。每个表只能有一个聚集索引,应为数据行本分只能按一个顺序存储。
            在聚集索引中,表中各行的物理顺序与索引键值的逻辑(索引)顺序相同。聚集索引通常可加快UPDATE和DELETE操作的速度,因为这两个操作需要读取 大量的数据。创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。  www.2cto.com  
    非聚集索引:
            因为一个表中只能有一个聚集索引,如果需要在表中建立多个索引,则可以创建为非聚集索引。表中的数据并不按照非聚集索引列的顺序存储,但非聚集索引的索引行中保存了非聚集键值和行定位器,可以快捷地根据非聚集键的值来定位记录的存储位置。
     
            无论是聚集索引,还是非聚集索引,都可以是唯一索引。在SQL Server中,当唯一性是.数据本身的特点时,可创建唯一索引,但索引列的组合不同于表的主键。例如,如果要频繁查询表Employees(该表主键为 列Emp_id)的列Emp_name,而且要保证姓名是唯一的,则在列Emp_name上创建唯一索引。如果用户为多个员工输入了相同的姓名,则数据库 显示错误,并且不能保存该表。

    转载于:https://www.cnblogs.com/fthjane/p/4776737.html

    展开全文
  • 主键索引和唯一索引的区别

    千次阅读 2018-09-26 19:09:54
    主键约束(PRIMARY KEY): 1.主键用于唯一的标识表中的每一...4.主键作外键,唯一索引不可。 唯一约束(UNIQUE): 1.唯一约束用来限制受主键约束的列上的数据的唯一性,用于作为访问某行的选手段,一个表...

    主键约束(PRIMARY KEY):

    1.主键用于唯一的标识表中的每一条记录,可以定义一类或多列为主键。

    2.表里面只能有一个主键约束,但可以有多个唯一约束。

    3.主键列上没有任何两行具有相同值(即重复值),不允许空(null)。

    4.主键可作外键,唯一索引不可。

    唯一约束(UNIQUE):

    1.唯一约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以防止多个唯一性约束。

    2.只要唯一就可以更新。

    3.表中任意两行在指定列上都不允许有相同的值,允许空(NULL)。

    4.一个表上可以放置多个唯一约束。

    展开全文
  • mysql中unique创建唯一索引

    万次阅读 2018-06-24 21:30:19
    主键约束要保证数据既不可以为空也不重复,而UNIQUE唯一索引,是可以允许数据为空的,而且唯一索引的主要作用就是避免数据重复(不是提高效率哦)。 本人也目前也是小白一个,在网上查得有人建表时这样添加唯一...
  • 允许(NULL),主健作外健,唯一索引不可; 2.定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。 唯一键(唯一性约束): 1.唯一性约束用来限制受主键约束的列上的数据的唯一性,用于...
  • 2)是可能(或很难)更新.3)主键列上没有任何两行具有相同值(即重复值),允许(NULL).4)主健作外健,唯一索引不可;2.唯一性约束(UNIQUE)1)唯一性约束用来限制受主键约束的列上的数据的唯一性,用于...
  • 主键约束、唯一性约束、唯一索引

    千次阅读 2018-07-22 00:23:40
    1.主键约束(PRIMARY KEY) ...4) 主健作外健,唯一索引不可; 2.唯一性约束(UNIQUE) 1) 唯一性约束用来限制受主键约束的列上的数据的唯一性,用于作为访问某行的选手段,一个表上可以放置多...
  • 索引:对建立索引的列进行排序并记录顺序 索引的目的:减少查找数据扫描的行数,查数据实际很多时候要在磁盘查,有... 2、唯一索引(unique key):设置unique key的默认也是索引,unique key允许重复,但是...
  • 索引

    2018-11-09 16:36:59
    1.一个表只能有一个主索引-PRIMARY,且只有...3.唯一索引,可以存在于自由表,但索引关键字不可以重复. 4.普通索引简单的理解就是只起排序作用.索引关键字是可以重复的.存在于自由表. 主键与唯一索引的区别 ...
  • MySQL 索引

    2021-04-27 10:16:23
    唯一索引:索引值唯一,允许为空 全文索引:建立在文本类型(CHAR,VARCHAR,TEXT)上的索引,字符串较大时,普通索引查询效率低,建议使用全文索引 空间索引(了解):按照空间关键建立的索引 前缀索引(了解):...
  • 主键:是一种特殊的唯一索引,必须指定为PRIMARY KEY,具有唯一性的同时为空全文索引:MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的类型为FULLTEXT,全文索引可以在...
  • 索引:索引是对数据库表中一列或者多列值进行排序的一种结构,使用索引可提高数据库中特定...主键索引是一种特殊的唯一索引允许为空。单列索引:一个索引只有一列,一张表可以有多个单列索引。组合索引:多个字...
  • 主键是为了标识数据库记录的唯一性,只能有一个主键,主键其实也是一个特殊索引:主键索引(不可为空),是一种特殊的唯一索引,使用主键数据库会自动创建主索引(当然也可以在非主键上创建索引) 索引可以提高查询...
  • mysql——索引

    2019-03-28 17:41:05
    一、mysql索引概念 索引就像书的目录,占空间,...唯一索引:索引列,唯一,列可以为空 普通索引:最基本的索引,没有任何限制 全文索引:仅用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。 ...
  • 唯一索引: 可为空 , 但空只能为一个 主键索引: 允许为空 组合索引: 多列 , 最左前缀原则 , 如: 组合索引列(a , b , c) , 则查询SQL中 where a = * 可以使用索引 , where b = * 不可使用 全文索引 空间索引 ...
  • 设立主键时会自动创建索引索引不可为空。 innodb为聚簇索引 全文索引 在定义索引的列上支持全文查找,允许在这些索引列中插入重复值和空值。在char varchar text类型的列上创建。MySQL只有MyISAM引擎支持全文...
  • MySQL索引介绍

    2017-06-27 15:03:18
    功能:约束条件、有多个、可以为空 普通索引: 定义:index或key 功能:提高查询速度、任意定义但要控制索引数量 复合索引: 定义:index(A、B) 功能:控制索引条件,第一个字段必须有索引
  • MySQL中的索引

    2019-08-13 22:00:23
    什么是索引 索引是一个单独的,存储在磁盘空间上的数据结构,通过索引我们能快速找到某个或多个列中有特定值的行。 索引优缺点 优点:可以加快检索速度,根据索引可以加快...唯一索引可以为空不可重复) UNIQU...
  • 三大范式 第一范式 +字段不可分,每个字段是原子级别的 第二范式 +属性完全依赖于主键(属性都是该对象拥有的) 第三范式 +属性和主键能间接...可以重复,可以为空 创建索引 alter table tb_student add index bbb
  • 一、索引 ...而唯一索引是基于唯一约束而建立的,可以为空不可以重复;序列是按照指示给出的值然后自增; 2、修改和删除索引 alter index one_indexs rename to one_index; --修改索引 drop index...
  • mysql索引类型normal,unique,full text的是什么? normal:表示普通索引 unique:表示唯一的,允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,设置为... 就是 唯一为空。 INDEX 索
  • 唯一索引:建立索引列的值必须是唯一的,可以为空 主键索引:根据主键建立索引,允许重复,能为空 全文索引:仅用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。 组合索引[覆盖索引]:为了更多的...
  • 约束和索引

    2014-11-18 16:49:38
    1.主键约束(PRIMARY KEY) ...4) 主健作外健,唯一索引不可; 2.唯一性约束(UNIQUE) 1) 唯一性约束用来限制受主键约束的列上的数据的唯一性,用于作为访问某行的选手段,一个表
  • PRIMARY KEY 不可空不可重复,在一个表里可以定义联合主键;primary key = unique + not nullPRIMARY KEY是一个唯一KEY,此时,所有的关键字列必须定义NOT NULL。如果这些列没有被明确地定义NOT NULL,MySQL应...
  • –3、指定要进行全文搜索的表–(可能出错“…全文搜索键必须是唯一的、不可为空的、单列的索引,并且该索引不是离线的…”)–(这个表必须有一个唯一索引[主键是可以的],) EXEC sp_fulltext_table ‘A
  • 主健作外健,唯一索引不可; 唯一性约束(UNIQUE) 唯一性约束用来限制受主键约束的列上的数据的唯一性,用于作为访问某行的选手段,一个表上可以放置多个唯一性约束 只要唯一就可以更新 即表中任意两行...
  • MySQL 约束与索引

    千次阅读 2015-12-13 17:27:13
    PRIMARY KEY 不可空不可重复,在一个表里可以定义联合主键; primary key = unique + not null PRIMARY KEY是一个唯一KEY,此时,所有的关键字列必须定义NOT NULL。如果这些列没有被明确地定义NOT NULL,M
  •  3) 主键列上没有任何两行具有相同值(即重复值),允许(NULL).4) 主健作外健,唯一索引不可;2.唯一性约束(UNIQUE)1) 唯一性约束用来限制受主键约束的列上的数据的唯一性,用于作为访问某行的选...
  • 唯一约束

    2018-07-15 23:19:05
     3) 主键列上没有任何两行具有相同值(即重复值),允许(NULL).4) 主健作外健,唯一索引不可;2.唯一性约束(UNIQUE)1) 唯一性约束用来限制受主键约束的列上的数据的唯一性,用于作为访问某行的选...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 213
精华内容 85
关键字:

唯一索引可不可以为空