MYSQL如何创建,查看和删除索引

mac2022-06-30  126

查看是否有加索引:

show index from `basic_auth`;

 

MySQL之desc查看表结构的详细信息

desc `basic_auth` ;

在mysql中如果想要查看表的定义的话;有如下方式可供选择

  1、show create table 语句:

show create table table_name;

  2、desc table_name 语句:

create table person( id int not null auto_increment primary key, name varchar(8), index ix__person__name (name)); desc person; +-------+------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(8) | YES | MUL | NULL | | +-------+------------+------+-----+---------+----------------+

由这个例子可以看出:

    Field:字段表示的是列名

  Type:字段表示的是列的数据类型

    Null :字段表示这个列是否能取空值

    Key :在mysql中key 和index 是一样的意思,这个Key列可能会看到有如下的值:PRI(主键)、MUL(普通的b-tree索引)、UNI(唯一索引)

    Default: 列的默认值

    Extra :其它信息

 

建立普通索引

      这是最基本的索引,它没有任何限制。

格式:

create table table_name

(

属性名,数据类型【完整约束】,

属性名,数据类型【完整约束】,

......

属性名,数据类型【完整约束】,

index|key 索引名 (属性名【(长度)】【asc|desc】)

);

建立唯一性索引

   建立唯一性索引时,需要使用unique 参数进行约束,就是在建立普通索引的基础上加上unique关键字。

建立全文索引

全文索引只能建立在char,varchar或者text类型的字段上。并且要注意的是MYSQL5.6版本,Innodb引擎才开始对FUULTEXT索引支持。

建立多列索引

多列索引就是在多个字段上创建索引

例如下面创建表newtable3,在类型char(20)的name字段上和int类型的age字段上建立索引

查看索引

在实际使用索引的过程中,有时需要对表的索引信息进行查询,了解在表中建立的索引,

格式:

show index from tablename

6

删除索引

      创建索引之后,如果用户不在使用该索引,可是删除指定表的索引。因为这些已经建立且不经常使用的索引一方面会占用系统资源,一方面导致更新的速度下降。

格式:

drop index index_name on table_name;

如下面删除newtable中的索引name_index 索引

最新回复(0)