网站首页 > 文章中心 > 其它

怎么建立索引mysql

作者:小编 更新时间:2023-10-04 18:41:54 浏览量:169人看过

mysql创建lower索引

mysql创建lower索引的方法:

①.、自动创建.在表中定义一个primarykey或者unique时,MySQL数据库会自动创建一个对应的主键索引或者是唯一索引.

怎么建立索引mysql-图1

mysql数据库怎么建索引?

MySQL数据库建立索引步骤:

①.、使用SQLPlus或者PLSQL登录MySQL数据库.

index

indexname

on

table(col)

tablespace

tablespacename;其中

"indexname"为需要建立索引的索引名;

"table"是需要建立索引的表;

"col"为需要建立索引的字段列;

"tablespacename"为建立索引存放的空间(如果不需要制定表空间则使用"create

table(col)").

mysql如何建立索引

我们可以通过查看索引的属性来判断创建索引的方法.

查看索引的语法格式如下:

SHOW INDEX FROM 表名 [ FROM 数据库名]

语法说明如下:

表名:指定需要查看索引的数据表名.

数据库名:指定需要查看索引的数据表所在的数据库,可省略.比如,SHOW INDEX FROM student FROM test; 语句表示查看 test 数据库中 student 数据表的索引.

示例

① row

Non_unique: 0

Key_name: height

Seq_in_index: 1

Column_name: height

Collation: A

Cardinality: 0

Sub_part: NULL

Packed: NULL

Null: YES

Index_type: BTREE

Comment:

Index_comment:

其中各主要参数说明如下:

参数 说明

Non_unique 表示该索引是否是唯一索引.若不是唯一索引,则该列的值为 1;若是唯一索引,则该列的值为 0.

Key_name 表示索引的名称.

Seq_in_index 表示该列在索引中的位置,如果索引是单列的,则该列的值为 1;如果索引是组合索引,则该列的值为每列在索引定义中的顺序.

Column_name 表示定义索引的列字段.

Collation 表示列以何种顺序存储在索引中.在 MySQL 中,升序显示值"A"(升序),若显示为 NULL,则表示无分类.

Cardinality 索引中唯一值数目的估计值.基数根据被存储为整数的统计数据计数,所以即使对于小型表,该值也没有必要是精确的.基数越大,当进行联合时,MySQL 使用该索引的机会就越大.

Sub_part 表示列中被编入索引的字符的数量.若列只是部分被编入索引,则该列的值为被编入索引的字符的数目;若整列被编入索引,则该列的值为 NULL.

Packed 指示关键字如何被压缩.若没有被压缩,值为 NULL.

Null 用于显示索引列中是否包含 NULL.若列含有 NULL,该列的值为 YES.若没有,则该列的值为 NO.

Index_type 显示索引使用的类型和方法(BTREE、FULLTEXT、HASH、RTREE).

Comment 显示评注.

mysql创建索引的三种办法

第一段:CREATE INDEX方法

CREATE INDEX 索引名 ON 表名 (列名 [长度] [ ASC | DESC])

限制:只能增加普通索引INDEX和UNIQUE INDEX索引这两种;不能创建PRIMARY KEY索引

第二段:ALTER TABLE方法

ALTER TABLE 表名 ADD INDEX [索引名] (列名,...)

ALTER TABLE 表名 ADD UNIQUE [ INDEX | KEY] [索引名] (列名,...)

ALTER TABLE 表名 ADD PRIMARY KEY (列名,...)

ALTER TABLE 表名 ADD FOREIGN KEY [索引名] (列名,...)

第三段:CREATE TABLE时候指定

创建一般索引

CREATE TABLE tb_stu_info

(

id INT NOT NULL,

dept_id INT DEFAULT NULL,

age INT DEFAULT NULL,

height INT DEFAULT NULL,

INDEX(height)

);

创建唯一索引

UNIQUE INDEX(height)

创建主键(虽然ALTER TABLE也能创建,但主键一般都在创表时建立)

CREATE TABLE mytable(

ID INT NOT NULL,

PRIMARY KEY(ID)

mysql怎么创建索引

①添加PRIMARY KEY(主键索引)

mysqlALTER TABLE +table_name+ ADD PRIMARY KEY ( +column+ )

mysqlALTER TABLE +table_name+ ADD UNIQUE (

+column+

)

mysqlALTER TABLE +table_name+ ADD INDEX index_name ( +column+ )

mysqlALTER TABLE +table_name+ ADD FULLTEXT ( +column+)

下面是更加详细的方法

MySQL中可以使用alter table这个SQL语句来为表中的字段添加索引.

使用alter table语句来为表中的字段添加索引的基本语法是:

ALTER TABLE 表名 ADD INDEX (字段);

我们来尝试为test中t_name字段添加一个索引.

mysql alter table test add index(t_name);

Records: 0 Duplicates: 0 Warnings: 0

执行成功后,我们来看看结果.

mysql describe test;

+------------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

| t_id | int(11) | YES | | NULL | |

| t_birth | date | YES | | NULL | |

结果可以看出,t_name字段的Key这一栏由原来的空白变成了MUL.这个MUL是什么意思呢?简单解释一下:如果Key是MUL,那么该列的值可以重复,该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL.

以上就是土嘎嘎小编为大家整理的怎么建立索引mysql相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章