MySQL - 唯一索引

唯一索引

  • 所谓唯一索引,就是在创建索引时,限制索引的字段值必须是唯一的。通过该类型的索引可以比普通索引更快速地查询某条记录。

    1. 创建表时定义索引

    CREATE TABLE tablename(
        propname1 type1,
        ……
        propnamen type..n,
        UNIQUE INDEX | KEY [indexname] (propnamen [(length)] [ ASC | DESC ] ) );
    

    注意
    参数UNIQUE INDEX和UNIQUE KEY是用来指定字段为索引的,两者选择其中之一即可;
    参数indexname是索引名字,可省略;
    参数propnamen是索引对应的字段的名称,该字段必须为前面定义好的字段且必须定义为 UNIQUE 约束;
    参数length是可选参数,其指索引的长度,必须是字符串类型才可以使用;
    参数ASC和DESC都是可选参数,ASC表示升序排列,DESC表示降序排列,如果不指定,则为升序。

    mysql> create table class(id int, name varchar(64), teacher varchar(64), UNIQUE INDEX name_index(name));	//创建class表,同时指定name为唯一索引列
    mysql> show create table class;						//查询表结构
    mysql> insert into class values(1, '一班', '张三');	//插入数据1
    mysql> insert into class values(2, '二班', '李四');	//插入数据2
    mysql> select * from class where id>0;				//根据列查询
    

    MySQL - 唯一索引_第1张图片

    2. 已存在的表上创建索引
    方法一:

    CREATE UNIQUE INDEX indexname  
        ON tablename (propname [(length)] [ASC|DESC]);  
    

    MySQL - 唯一索引_第2张图片

    方法二:

    ALTER TABLE tablename ADD UNIQUE INDEX | KEY indexname (propname [(length)] [ASC|DESC]);  
    

    MySQL - 唯一索引_第3张图片

你可能感兴趣的:(MySQL,mysql,数据库,java)