mysql在建表语句中添加索引
普通索引创建
创建普通索引,即不添加 UNIQUE、FULLTEXT 等任何参数。
【例】创建表名为 score 的数据表,并在该表的 id 字段上建⽴索引,SQL 语句如下:
CREATE table score(
id int(11) AUTO_INCREMENT primary key not null,
name varchar(50) not null,
math int(5) not null,
English int (5) not null,
Chinese int (5) not null,
index(id)
)
;
此时在id字段上建⽴的普通索引名字为id,在id字段建⽴的,索引⽅法为BTREE,索引类型为normal
创建唯⼀索引
创建唯⼀索引时,使⽤ UNIQUE 参数进⾏约束。mysql创建表数据类型
【例】创建表名为 address 的数据表,并在该表的 id 字段上建⽴唯⼀索引,SQL 语句如下:
CREATE table address(
id int(11) auto_increment primary key not null,
name varchar(50),
address varchar(200),
UNIQUE INDEX address(id ASC)
);
此时在id字段上建⽴的唯⼀索引,索引名字为address,索引⽅法BTREE为,索引类型为Unique
创建前缀索引(某字段前*个字节)
创建单列索引,即在数据表的单个字段上创建索引。创建该类型索引不需要引⼊约束参数,⽤户在建⽴时只需要指定单列字段名,即可创建单列索引。【例】创建名称为 telephone 的数据表,并指定在 tel 字段上建⽴名称为 tel_num 的单列索引,SQL 语句如下:
create table telephone(
id int(11) primary key auto_increment not null,
name varchar(50) not null,
tel varchar(50) not null,
index tel_num(tel(20))
);
此时在tel字段上建⽴的普通索引,索引名字为tel_num,索引⽅法为BTREE,索引类型为normal,索
引取的是tel字段前20为字节建⽴索引
前缀索引⽆法使⽤覆盖索引
创建全⽂索引
全⽂索引只能作⽤在 CHAR、VARCHAR、TEXT、类型的字段上。创建全⽂索引需要使⽤ FULLTEXT 参数进⾏约束。
【例】创建表名为 cards 的数据表,并在该表的 name 字段上建⽴全⽂索引,SQL 语句如下:
create table cards(
id int(11) auto_increment primary key not null,
name varchar(50),
number bigint(11),
info varchar(50),
FULLTEXT KEY cards_number(name)
);
此时在name字段上建⽴的全⽂索引,索引名字为cards_number,索引⽅法为空(没有),索引类型为FULL TEXT
创建多列索引
创建多列索引即指定表的多个字段即可实现。
【例】创建名称为 information 的数据表,并指定 name 和 sex 为多列索引,SQL 语句如下:
create table information(
inf_id int(11) auto_increment primary key not null,
name varchar(50) not null,
sex varchar(5) not null,
birthday varchar(50) not null,
index info(name,sex)
);
此时在name,sex字段上建⽴的普通联合索引,索引名字为info,索引⽅法为BTREE,索引类型为normal
创建空间索引(在MyISAM上)
创建空间索引时,需要设置 SPATIAL 参数。同样,必须说明的是,只有 MyISAM 类型表⽀持该类型索引。⽽且,索引字段必须有⾮空约束。
【例】创建⼀个名称为 list 的数据表,并创建⼀个名为 listinfo 的空间索引,SQL语句如下:
create table list(
id int(11) primary key auto_increment not null,
goods geometry not null,
SPATIAL INDEX listinfo(goods)
)engine=MyISAM;
goods 字段上已经建⽴名称为 listinfo 的空间索引,其中 goods 字段必须不能为空,且数据类型是 GEOMETRY,该类型是空间数据类型。空间类型不能⽤其他类型代替,否则在⽣成空间素引时会产⽣错误且不能正常创建该类型索引。
空间类型除了上述⽰例中提到的 GEOMETRY 类型外,还包括如 POINT、LINESTRING、POLYGON 等类型,这些空间教据类型在平常的操作中很少
被⽤到。参考
原⽂链接:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论