MySQL知识点3-索引的操作

1.索引的概念---索引是一种有效组合数据的方式,通过索引可以快速的查找到数据库对象表中的特定记录。一个索引会包含表中按照一定顺序排序的一列或多列字段。由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构中(B-树或哈希表)。可将索引分为B型树索引和哈希索引。

 MYSQL支持6种索引:普通索引、唯一索引、全文索引、单列索引、多列索引、空间索引。

2.索引的基本操作---包括创建、查看和删除。

  创建和查看索引——包括三种方法:创建表时创建索引、在已经存在的表中创建索引、通过SQL语句ALTER TABLE。

  (1)创建普通索引:

        普通索引:在创建索引时,不附加任何限制条件(唯一、非空等)。该类索引可以创建在任何数据类型的字段上。

        创建表时创建普通索引:create table table_name(属性名 数据类型,属性名 数据类型 ....属性名 数据类型,index|key [索引名] (属性名1 [(长度)])【ASC|DESC】);

     例:CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
INDEX index_deptno(deptno)
);

      在以存在的表中创建普通索引:create index 索引名 on 表名 (属性名【(长度)】【AES|DESC】);

     通过SQL语句创建普通索引:alter table table_name add index|key 索引名(属性名【(长度)】【AES|DESC】);

(2)创建唯一索引:

         唯一索引:就是创建索引,限制索引的值必须唯一的。

         创建表时创建唯一索引:create table table_name(属性名 数据类型,属性名 数据类型 ....属性名 数据类型,       unique index|key [索引名] (属性名1 [(长度)])【ASC|DESC】);

       例:CREATE TABLE t_dept(
deptno INT UNIQUE,
dname VARCHAR(20),
loc VARCHAR(40),
UNIQUE INDEX index_deptno(deptno)
);

     在以存在的表中创建唯一索引:create unique index 索引名 on 表名 (属性名【(长度)】【AES|DESC】);

     通过SQL语句创建唯一索引:alter table table_name add  unique index|key 索引名(属性名【(长度)】;

(3)创建全文索引

   全文索引:主要关联在数据类型为char、varchar和text的字段上,以便能够更加快速的查询数据量较大的字符串类型字段。只能在存储引擎为MyISAM的数据库表上创建。

 创建表时创建全文索引:create table table_name(属性名 数据类型,属性名 数据类型 ....属性名 数据类型,         fulltext index|key [索引名] (属性名1 [(长度)])【ASC|DESC】);

 例:CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
FULLTEXT INDEX index_loc(loc)
) ENGINE=MyISAM;

    在以存在的表中创建全文索引:create fulltext index 索引名 on 表名 (属性名【(长度)】【AES|DESC】);

     通过SQL语句创建全文索引:alter table table_name add  fulltext index|key 索引名(属性名【(长度)】;

(4)创建多列索引

 多列索引:在创建索引时,所关联的字段不是一个字段,而是多个字段。

创建表时创建多列索引:create table table_name(属性名 数据类型,属性名 数据类型 ....属性名 数据类型,         index|key [索引名] (属性名1 [(长度)])【ASC|DESC】,....属性名n [(长度)])【ASC|DESC】);

  列:CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
KEY index_dname_loc(dname,loc)
);

   在以存在的表中创建多列索引:create  index 索引名 on 表名 (属性名【(长度)】【AES|DESC】,....属性名n [(长度)])【ASC|DESC】);

     通过SQL语句创建多列索引:alter table table_name add  fulltext index|key 索引名(属性名【(长度),....属性名n [(长度)])【ASC|DESC】】;

删除索引:drop index index_name on table_name;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值