mysql操作索引的sql语句
创建索引
一:唯一索引
alter table table_name add unique index_name(column_list);
例如:alter table users_game_task add unique unique_userid_taskid(userid, taskid);
二:主键索引:PRIMARY KEY(主键索引)
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
alter table table_name add index index_name (column_list) ; alter table table_name add unique index index_name(column_list) ; alter table table_name add primary key (column_list) ;
查询索引
SHOW INDEX FROM table_name;
删除索引
方法一:drop index index_name on table_name ;
方法二:alter table table_name drop index index_name ;
alter table table_name drop primary key ;
其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。
INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
FULLTEXT(全文索引)
ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
多列索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
1.普通索引。
这是最基本的索引,它没有任何限制。它有以下几种创建方式:
(1)创建索引:CREATE INDEX indexName ON
tableName(tableColumns(length));如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是
BLOB 和 TEXT 类型,必须指定length,下同。
(2)修改表结构:ALTER tableName ADD INDEX [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( [...], INDEX [indexName] (tableColumns(length)) ;
2.唯一索引。
它与前面的"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:
(1)创建索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))
(2)修改表结构:ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)创建表的时候直接指定:CREATE TABLE tableName ( [...], UNIQUE [indexName] (tableColumns(length));
3.主键索引
它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引:CREATE TABLE testIndex(i_testID INT
NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY
KEY(i_testID)); 当然也可以用ALTER命令。
相关文章
- executeupdate mysql_使用Mysql中的executeUpdate在SQL语句中创建表
- 如何将excel中的数据导入mysql_将外部sql文件导入MySQL步骤
- sql掌握MySQL,才能写出精彩的SQL语句(mysql不等于如何写)
- MySQL行动:燕十八的无限可能性(燕十八mysql)
- Mysql中日期实现相减的算法(mysql日期相减)
- MySQL中增量索引的优化方法(mysql增量索引)
- MySQL优化:如何正确设置索引长度(mysql设置索引长度)
- 数据MySQL实现网站数据导入(mysql导入网站)
- MySQL索引: 优化范围查询效率(mysql范围索引)
- 深入理解MySQL索引:这是什么?(mysql索引是什么意思)
- MySQL索引重置,提升数据库性能(mysql重置索引)
- MySQL学习笔记:如何通过SQL语句增加字段?(mysql增加字段sql)
- MySQL删除重复值的方法(mysql重复值)
- MySQL实现txt文件导入(txt文件导入mysql)
- MySQL中的SQL语句倒序排列技巧(mysql中sql倒叙)
- MySQL批量执行SQL脚本,给你快速上手(c mysql批量sql)
- MySQL中使用SQL语句快速创建索引(c mysql创建索引)
- 用CMD连接MySQL数据库的快速指南(cmd上链接mysql)
- MySQL数据库中如何实现列相加(mysql中列相加)
- MySQL的一年变化趋向云端(mysql 一年内)