如何用SQL语句查询MySQL数据库中的表的索引信息。

想要查询出MySQL中某个表的索引信息,信息包括有索引名、字段以及索引类型,请问如何用SQL语句查询出来呢,特别是索引类型这一块,怎么才能知道它是normal还是unique等等类型的呢?近期毕设要用到,麻烦知道的人讲解一下,非常感谢啦~

3个回答

1.要看类型是啥,可以使用show create table table_name来进行查询,因为索引都是依托表而建立的,所以这样可以把表的所有索引信息显示出来
2.查看索引是btree还是其他,就用show index from table_name。而这种查询里面的Non_unique这个字段中0表示唯一索引1表示普通索引;

希望可以帮到你...

lilyahh
lilyahh 原来Non_unique字段就是可以表示索引类型的呀,太感谢了~问题解决了~
5 个月之前 回复
SELECT * FROM mysql.`innodb_index_stats` a WHERE a.`database_name` = '数据库名' and a.table_name like '%表名%';
如果对你有帮助希望采纳我的答案 3q
lilyahh
lilyahh 这个方法我之前试过了,但是不能查询出索引类型。。。
5 个月之前 回复
1、查看数据库所有索引

SELECT * FROM mysql.`innodb_index_stats` a WHERE a.`database_name` = '数据库名';

2、查看某一表索引

SELECT * FROM mysql.`innodb_index_stats` a WHERE a.`database_name` = '数据库名' and a.table_name like '%表名%';

3、查看某一表索引
show index from 表名

lilyahh
lilyahh 以上方法都试过了,1和2都不能查出索引类型,3查出的索引类型显示都是BTREE,但是,我想显示的是NORMAL,UNIQUE。。。
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

9
如何根据条件查询数据库中的记录
11
jsp页面关于数据库多对多查询的sql语句应该怎么写?
13
sql语句查询数据库信息,如何将查询到的信息进行冒泡排序存入list表内
4
sqlserver查询数据库权限的sql语句
9
一个myeclipse项目如何将使用mysql数据库改用sqlserver数据库
3
SQL 如何通过SQL语句获得某个用户名下绑定的数据库的名称和其拥有的角色?(第三问)
2
sqlserver如何查询所有数据库中包含某段字符串的存储过程名,结果展示为数据库名字-存储过程名
4
mysql数据库自定义排序sql语句
5
SQL数据库语句获取a表的全部id并相加,要怎么写,求助大神
2
SQL语句中关于查询出来的数据替换的问题?
3
利用kettle工具做数据迁移,如何做到作业job中的数据库连接通配所有数据库
6
php mysql写入查询数据库问题
2
mysql怎么获取在sql语句查询出来的数据中的排名
2
关于sql语句,批量查询与入库
2
springboot2.0.5在已经有一个sqlserver数据源的情况的添加一个mysql数据库
2
C#中用linq语句如何查询出数据库最新的一条数据
6
Navicat想查看表的sql语句点对象信息没有反应
2
mfc调用mysql数据库时,如何在listbox上逐行显示调用的数据库的表中的内容呢?
2
用SQLserver数据库开发的项目,部署到服务器,目标服务器用的PostgreSQL数据库怎么弄?
0
intersystems cache数据库 怎样用SQL语句获取表结构信息