美文网首页
MySQL中的Primary Key、Unique 和Index

MySQL中的Primary Key、Unique 和Index

作者: 未抵达catty | 来源:发表于2018-08-27 16:08 被阅读0次

    一、Primary Key和Unique

    Primary Key和Unique 都是一种约束(Constraint),都不允许列种存在重复值,不同的是:

    • Primary Key:一个表只能有一个 PRIMARY KEY 约束,不允许有空值
    • Unique :一个表可以有多个 UNIQUE 约束,允许存在空值
      当向表中插入数据时,如果有约束列中有重复值,会报错
    1062 - Duplicate entry '1' for key 'stuid'
    

    表已经创建好之后添加Primary Key和Unique 约束

    Alter table 表名称 
    add constraint 约束名称 primary key (列名称);
    
    Alter table 表名称 
    add constraint 约束名称 unique(列名称);
    

    删除Primary Key和Unique 约束

    Alter table 表名称 
    drop primary key;
    
    Alter table 表名称 
    drop index  unique约束名称;
    

    创建约束时没有定义约束名,如何删除约束?

    第一步:输入以下语句,从CONSTRAINT_NAME 列找到系统自动定义的约束名

    Select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE;
    

    第二步:删除约束

    二、Index

    create index 语句用于为表创建索引,目的是为了提高查询速度。

    创建一个简单的索引,允许有重复值

    Create index 索引名称 
    on 表名称(需要索引的列);
    

    创建一个唯一的索引,两行不允许拥有重复的索引值

    Create unique index 索引名称 
    on 表名称(需要索引的列);
    

    三、Primary Key 和Unique Index

    创建primary key约束的同时会创建一个unique index。

    相关文章

      网友评论

          本文标题:MySQL中的Primary Key、Unique 和Index

          本文链接:https://www.haomeiwen.com/subject/mrqtwftx.html