mysql基础操作学习笔记(2)----索引
2018-06-17 23:10:49来源:未知 阅读 ()
为什么要创建索引?
在此本人也带着相同的疑问,能够解释的仅仅是:为了减少数据库查询时所需要的速度。如果正常查询和索引查询所需时间相差很多倍时我们自然是需要索引的了。
想要知道结果,只能等我学得更加深入一点咯。
创建索引
创建索引有三种方法:(1)在创建表时创建索引; (2)使用ALTER TABLE 语句创建索引;(3)使用CREATE INDEX语句创建索引。
创建索引的类型有:普通索引(INDEX),唯一索引(UNIQUE INDEX),全文索引(FULLTEXT INDEX),空间索引(SPATIAL INDEX);其中全文索引,空间索引必须在MyISAM存储引擎下创建,且全文索引必须在数据类型为:CHAR、VARCHAR和TEXT的列上建立。
下面进行举例:
一、创建表时创建索引
1、创建普通索引
CREATE TABLE T1 ( id INT NOT NULL, name CHAR(50) NULL, INDEX SingleIdx(name) )
创建普通索引的语句为INDEX [索引名](列名),其中列名可以为多个,即以多个关键字创建索引。
2、创建唯一索引
CREATE TABLE T1 ( id INT NOT NULL, name CHAR(30) NOT NULL, UNIQUE INDEX UniqIdx(id) )
创建唯一索引的语句为 UNIQUE INDEX [索引名](列名)
3、创建全文索引
CREATE TABLE T1 ( id INT NOT NULL, name CHAR(30) NOT NULL, age INT NOT NULL, info VARCHAR(255), FULLTEXT INDEX FullTxtIdx(info) ) ENGINE=MyISAM;
创建全文索引的语句为 FULLTEXT INDEX [索引名](列名), 其中存储引擎为MyISAM
4、创建空间索引
CREATE TABLE T1 ( g GEOMETRY NOT NULL, SPATIAL INDEX spatLdx(g), ) ENGINE = MyISAM;
创建空间索引的语句为 FULLTEXT INDEX [索引名](列名), 其中存储引擎为MyISAM
二、在已有表上创建索引
1、使用ALTER TABLE 语句创建索引
其中基本语法为: ALTER TABLE table_name ADD [索引种类] [索引名](字段);
如:
普通索引: ALTER TABLE book ADD INDEX BkNameIdx(bookname(30) );
唯一索引: ALTER TABLE book ADD UNIQUE INDEX UniqidIdx( bookId );
全文索引: ALTER TABLE book ADD FULLTEXT INDEX infoIdx( info);
空间索引: ALTER TABLE book ADD SPATIAL INDEX spatIdx( g );
2、使用CREATE INNDEX语句创建索引
其中基本语法为:
CREATE [索引种类] INDEX [索引名] ON [表名](字段名)
如:
普通索引: CREATE INDEX BkNameIDX ON book(bookname);
唯一索引: CREATE UNIQUE INDEX UniqidIdx ON book( bookId );
全文索引: CREATE FULLTEXT INDEX ON T1(info);
空间索引: CREATE SPATIAL INDEX spatIdx ON T1(g);
3、删除索引
a、用ALTER TABLE 删除:
ALTRER TABLE [表名] DROP INDEX [索引名];
b、用DROP INDEX删除:
DROP INDEX [索引名] ON [表名];
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash