MYSQL索引信息存储在INFORMATION_SCHEMA.STATISTICS表里,如果要批量删除索引(主键除外)则可通过其构建批量删除sql。下面是我删除pafss库中所有以j_打头的表的索引的sql。批量删除主键可以通过第二个sql,但是自增列不能通过这种方式删除。
1、SELECT DISTINCT (CONCAT('drop index ', INDEX_NAME, ' on ', TABLE_NAME, ''))FROM INFORMATION_SCHEMA.STATISTICS T
WHERE T.TABLE_SCHEMA = 'pafss'
AND T.TABLE_NAME LIKE 'j_%'
AND T.INDEX_NAME <> 'PRIMARY';
2、SELECT DISTINCT(concat('alert table ', TABLE_NAME ,' drop primary key ')),t.*
FROM INFORMATION_SCHEMA.STATISTICS T
WHERE T.TABLE_SCHEMA = 'pafss'
AND T.TABLE_NAME LIKE 'j_%'
AND T.INDEX_NAME = 'PRIMARY'
第一步,创建数据库表t_tree_info,命令如下:create table t_tree_info(
id int(8),
tno int(4),
tname varchar(20),
tdesc varchar(100)
)
第二步,向表里插入3条数据,插入后查看表记录,如下图所示:
第三步,创建数据库索引tree_name,命令如下:
create index tree_name on t_tree_info (tname(20))
如下图所示:
第四步,查看数据库表索引,利用show命令
show index from t_tree_info
如下图所示:
第五步,重建索引,利用repari命令
repair table t_tree_info quick
如下图所示:
第六步,索引创建好了,在不使用该索引时,可以删除
drop index tree_name on t_tree_info
如下图所示:
1、添加PRIMARYKEY(主键索引)
mysql>ALTER
TABLE
`table_name`
ADD
PRIMARY
KEY
(
`column`
)
2、添加UNIQUE(唯一索引)
mysql>ALTER
TABLE
`table_name`
ADD
UNIQUE
(
`column`
)
3、添加INDEX(普通索引)
mysql>ALTER
TABLE
`table_name`
ADD
INDEX
index_name
(
`column`
)
4、添加FULLTEXT(全文索引)
mysql>ALTER
TABLE
`table_name`
ADD
FULLTEXT
(
`column`)
5、添加多列索引
mysql>ALTER
TABLE
`table_name`
ADD
INDEX
index_name
(
`column1`,
`column2`,
`column3`
)
以上这篇mysql为字段添加和删除唯一性索引(unique)
的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)