mysql创建lower索引的方法:
①.、自动创建.在表中定义一个primarykey或者unique时,MySQL数据库会自动创建一个对应的主键索引或者是唯一索引.
MySQL数据库建立索引步骤:
①.、使用SQLPlus或者PLSQL登录MySQL数据库.
index
indexname
on
table(col)
tablespace
tablespacename;其中
"indexname"为需要建立索引的索引名;
"table"是需要建立索引的表;
"col"为需要建立索引的字段列;
"tablespacename"为建立索引存放的空间(如果不需要制定表空间则使用"create
table(col)").
我们可以通过查看索引的属性来判断创建索引的方法.
查看索引的语法格式如下:
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 显示评注.
第一段: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)
①添加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相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!