①添加PRIMARY KEY(主键索引):
mysql创建lower索引的方法:
①.、自动创建.在表中定义一个primarykey或者unique时,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 显示评注.
第一段: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索引怎么弄相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!