mysql创建表添加索引_sql创建索引的命令

mysql创建表添加索引_sql创建索引的命令普通索引创建 创建普通索引,即不添加 UNIQUE、FULLTEXT 等任何参数。 【例】创建表名为 score 的数据表,并在该表的 id 字段上建立索引,SQL 语句如下: 此时在id字段上建立的

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)
);

代码100分

此时在id字段上建立的普通索引名字为id,在id字段建立的,索引方法为BTREE,索引类型为normal

创建唯一索引

创建唯一索引时,使用 UNIQUE 参数进行约束。

【例】创建表名为 address 的数据表,并在该表的 id 字段上建立唯一索引,SQL 语句如下:

代码100分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 语句如下:

代码100分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  等类型,这些空间教据类型在平常的操作中很少被用到。

参考

原文链接:https://blog.csdn.net/qq_41573234/article/details/80250279

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10136.html

(0)
上一篇 2023-01-24
下一篇 2023-01-25

相关推荐

  • PyCharm项目删除教程

    PyCharm项目删除教程在PyCharm中,想要删除一个项目非常简单。首先,我们需要打开该项目。然后,我们可以通过以下两种方式来删除项目:

    2024-09-08
    19
  • mongodb 配置&备份

    mongodb 配置&备份mongod -f //home/wyd/MongoDB/conf/mongod.conf -v –dbpath /home/wyd/MongoDB/shard-a-primary –logpa…

    2023-03-15
    150
  • b树b-树b+树区别_B树的高度

    b树b-树b+树区别_B树的高度今天看数据库,书中提到:由于索引是采用 B 树结构存储的,所以对应的索引项并不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片,这和磁盘碎片、内存碎片产生原理是类似的,这些存储碎片

    2023-02-26
    145
  • 优美精准的numpy切片操作技巧

    优美精准的numpy切片操作技巧从事数据科学和机器学习的人都知道,numpy是必备的工具之一。在numpy中,切片(slicing)是经常用到的操作之一。简单的切片是很容易掌握的,但是当涉及到多维数组,或者需要高效地选择元素时,我们就需要更加高效和优美的numpy切片技巧。

    2024-04-17
    103
  • MYSQL数据库优化(一)[通俗易懂]

    MYSQL数据库优化(一)[通俗易懂]内存的读写速度远大于磁盘的读写速度,减少磁盘读写,可以作为重点优化方向。 数据库内部最重要的就是存储结构,存储结构必然涉及到数据结构知识。比如用到了常用的哈希图、树。 MYSQL数据库常用两种引擎,I

    2023-02-27
    154
  • Python中实现延时的方法

    Python中实现延时的方法Python作为一种高级编程语言,不仅易学易用,而且其库集丰富,其中就包括延时函数相关的库。在实际开发过程中,经常需要进行计时、等待或暂停,即需要对程序进行延时操作。Python中实现延时的方法有多种,本文将系统介绍延时操作的方法及其应用场景。

    2024-07-11
    43
  • ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务[通俗易懂]

    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务[通俗易懂]具体操作是删除了原有数据库,然后重新创建了数据库,之后用sqlplus可以正常链接, 但是plsql链接不上,看了网上配置环境变量,配置plsql连接信息都不行。 监听服务也都重启过也不行 tnsn…

    2022-12-17
    143
  • Mysql事务原理[亲测有效]

    Mysql事务原理[亲测有效]由此我们发现在RR级别中,通过MVCC机制,虽然让数据变得可重复读,并且避免的幻读,但我们读到的数据可能是历史数据,是不及时的数据,不是数据库当前的数据!这在一些对于数据的时效特别敏感的业务中,就很可

    2023-04-14
    164

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注