mysql创建索引
2016-06-03 00:00
330 查看
摘要: mysql几种创建索引的方式
1.普通索引
2.主键索引
3.唯一索引
与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和普通索引类似。
4.全文索引
MySQL从3.23.23版开始支持全文索引和全文检索,FULLTEXT索引仅可用于 MyISAM 表;他们可以从CHAR、VARCHAR或TEXT列中作为CREATE TABLE语句的一部分被创建,或是随后使用ALTER TABLE 或CREATE INDEX被添加。
5.多列索引
ALTER TABLE `table_name` ADD INDEX index_name( `column1`, `column2`, `column3` )
6.删除索引
1.普通索引
//直接创建索引 CREATE INDEX index_nameON table(column(length)) //修改表结构 ALTER TABLE `table_name` ADD INDEX index_name( `column` ) ALTER TABLE table_name ADD INDEX index_nameON (column(length)) //创建表的时候同时创建索引 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), INDEX index_name(title(length)) )
2.主键索引
//修改表结构 ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) //创建表的时候同时创建索引 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , 10 `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), )
3.唯一索引
与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和普通索引类似。
//修改表结构 ALTER TABLE `table_name` ADD UNIQUE ( `column` ) ALTER TABLE table_name ADD UNIQUE indexName ON (column(length)) //创建唯一索引 CREATE UNIQUE INDEX indexName ON table(column(length)) //创建表的时候直接指定 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), UNIQUE indexName (title(length)) );
4.全文索引
MySQL从3.23.23版开始支持全文索引和全文检索,FULLTEXT索引仅可用于 MyISAM 表;他们可以从CHAR、VARCHAR或TEXT列中作为CREATE TABLE语句的一部分被创建,或是随后使用ALTER TABLE 或CREATE INDEX被添加。
//修改表结构 ALTER TABLE `table_name` ADD FULLTEXT ( `column`) ALTER TABLE `table_name` ADD FULLTEXT index_content(content) 创建表的适合添加全文索引 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), FULLTEXT (content) 09 ); //直接创建索引 CREATE FULLTEXT INDEX index_content ON `column`(content)
5.多列索引
ALTER TABLE `table_name` ADD INDEX index_name( `column1`, `column2`, `column3` )
6.删除索引
DROP
INDEX
index_name
ON
table
相关文章推荐
- mysql 字符串区分大小写
- ubuntu上从mysql中用命令行备份出数据库
- mysql优化sql语句查询的方法(一)
- MySql学习
- mysql编程(存储过程和触发器)
- MYSQL中获取得最后一条记录的语句
- ORM写mysql(最终处理方式)
- Ubuntu安装MySQL及设置字符集为UTF8
- 事务控制语言(DTL)
- debian安装及使用mysql
- mysqldump
- 数据控制语言(DCL)
- ubuntu mysql授权
- 解决ubuntu下安装mysql使用service 无法启动问题
- mysql加强
- MySQL数据库入门笔记
- MySQL数据库入门笔记
- Install DBD::mysql for Perl in XAMPP in Mac , solving errors
- window 下mysql5.7.12安装报错记录
- mysql 创建函数