资讯
安全
论坛
下载
读书
程序开发
数据库
系统
网络
电子书
微信学院
站长学院
QQ
手机软件
考试
安全
|
web开发
|
软件开发
|
移动开发
|
数据库
|
网络
|
系统
|
网站
|
考试认证
|
其他
|
读书频道
>
网站
>
网页设计
>
MySQL入门很简单
7.2.3 用ALTER TABLE语句来创建索引
12-07-30
叶孤城
收藏
我要投稿
本文所属图书 >
MySQL入门很简单
本书从初学者的角度出发,由浅入深,循序渐进地介绍了MySQL数据库应用与开发的相关知识。书中提供了大量操作MySQL数据库的示例,还提供了大量实例和上机实践内容,供读者演练。本书共分5篇。第1篇介绍数据库的基...
立即去当当网订购
在已经存在的表上,可以通过ALTER TABLE语句直接为表上的一个或几个字段创建索引。基本形式如下:
ALTER TABLE 表名 ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX
索引名(属性名 [ (长度) ] [ ASC | DESC]);
其中的参数与上面的两种方式的参数是一样的。
1.创建普通索引
【示例7-13】 下面在example0表中的name字段上建立名为index13_name的索引。SQL代码如下:
ALTER TABLE example0 ADD INDEX index13_name ( name(20) ) ;
使用ALTER TABLE语句创建索引之前,先执行SHOW CREATE TABLE语句查看example0表的结构。SHOW CREATE TABLE语句执行结果如下:
mysql> SHOW CREATE TABLE example0 \G
*************************** 1. row **************************
Table: example0
Create Table: CREATE TABLE `example0` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`sex` tinyint(1) DEFAULT NULL,
KEY `index7_id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
结果显示,example0表上只有index7_id索引。下面执行ALTER TABLE语句创建index13_name索引。ALTER TABLE语句执行结果如下:
mysql> ALTER TABLE example0 ADD INDEX index13_name ( name(20) ) ;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
运行结果显示创建成功,使用SHOW CREATE TABLE语句查看example0表的结构。显示如下:
mysql> SHOW CREATE TABLE example0 \G
*************************** 1. row ***************************
Table: example0
Create Table: CREATE TABLE `example0` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`sex` tinyint(1) DEFAULT NULL,
KEY `index7_id` (`id`),
KEY `index13_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
结果可以看到,name字段已经创建了一个名为index13_name的索引。
2.创建唯一性索引
【示例7-14】 下面在index14表中的course_id字段上,建立名为index14_id的唯一性索引。SQL代码如下:
ALTER TABLE index14 ADD UNIQUE INDEX index14_id ( course_id ) ;
其中,index14_id为索引的名词;UNIQUE用来设置索引为唯一性索引;表index14中的course_id字段可以有唯一性约束,也可以没有唯一性约束。
3.创建全文索引
【示例7-15】 下面在index15表中的info字段上建立名为index15_info的全文索引。SQL代码如下:
ALTER TABLE index15 ADD FULLTEXT INDEX index15_info ( info ) ;
其中,FULLTEXT用来设置索引为全文索引;表index15的存储引擎必须是MyISAM类型;info字段必须为CHAR、VARCHAR和TEXT等类型。
4.创建单列索引
【示例7-16】 下面在index16表中的address字段上建立名为index16_addr的单列索引。address字段的数据类型为VARCHAR(20),索引的数据类型为CHAR(4)。SQL代码如下:
ALTER TABLE index16 ADD INDEX index16_addr( address(4) ) ;
这样,查询时可以只查询address字段的前4个字符,而不需要全部查询。
5.创建多列索引
【示例7-17】 下面在index17表中的name和address字段上建立名为index17_na的多列索引。SQL代码如下:
ALTER TABLE index17 ADD INDEX index17_na( name, address ) ;
该索引创建好了以后,查询条件中必须有name字段才能使用索引。
6.创建空间索引
【示例7-18】 下面在index18表中的line字段上建立名为index18_line的多列索引。SQL代码如下:
ALTER TABLE index18 ADD SPATIAL INDEX index18_line( line ) ;
其中,SPATIAL用来设置索引为空间索引;表index18的存储引擎必须是MyISAM类型;line字段必须是非空的,而且必须是空间数据类型
点击复制链接 与好友分享!
回本站首页
分享到:
更多
您对本文章有什么意见或着疑问吗?请到
论坛讨论
您的关注和建议是我们前行的参考和动力
上一篇:
1.3 功能
下一篇:
1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
112 |
1.2.7 MariaDB 与MySQL 的选择
112 |
1.2.6 MariaDB 是否会取代MySQL
112 |
1.2.5 性能比较
112 |
1.2.4 各版本间的兼容性
112 |
1.2.3 不同点
112 |
1.2.2 相同点
112 |
1.2.1 MariaDB、MySQL 和PerconaServer
112 |
1.2 MariaDB 与MySQL
3.2.3 Bootstrap栅格系统
3.4.4 自适应显示/隐藏页面内容
3.3.1 固定式布局
2.1.1 下载Bootstrap
3.3.2 流式布局
3.4.6 响应式Bootstrap
3.4.2 设计响应式图片
3.2.4 响应式Bootstrap栅格系统
文章
下载
读书
·
Win2000下关闭无用端口
·
禁止非法用户登录综合设置 [win9x篇]
·
关上可恶的后门——消除NetBIOS隐患
·
网络入侵检测系统
·
潜伏在Windows默认设置中的陷井
·
调制解调器的不安全
·
构建Windows 2000服务器的安全防护林
·
SQL Server 2000的安全配置
·
Windows优化大师注册机源码
·
Aspcode动画教程
·
WIN 2000服务器防止ICMP数据包攻击教程
·
实现网络隐身的简单方法
·
手工进行克隆帐号
·
用W32DASM破解网页合并器的密码
·
注册表操作动画教程
·
冰河陷阱v1.2
·
黑客攻防技术宝典:Web实战篇(第2版)
·
超级网管员——网络安全
·
代码大全(第二版)
·
软件之道:软件开发争议问题剖析
·
CSS插件工具箱
·
CSS入门经典(第3版)
·
C#并行编程高级教程:精通.NET 4 Pa
·
CMMI+敏捷整合开发
关于我们
|
联系我们
|
广告服务
|
投资合作
|
版权申明
|
在线帮助
|
网站地图
|
作品发布
|
Vip技术培训
版权所有:
红黑联盟
--致力于做最好的IT技术学习网站