你可以使用如下的SQL语句来查询数据库中所有的索引:
SELECT
t.TABLE_NAME,
t.INDEX_NAME
FROM
information_schema.statistics t
WHERE
t.table_schema = 'your_database_name';
请将’your_database_name’更改为你的数据库名称。
这条SQL语句在MySQL, MariaDB 和其他一些DBMS中可用。但是请注意, 不是所有的数据库系统都使用这些INFORMATION_SCHEMA 视图。有些数据库系统可能需要不同的查询语句。
举例:
-
对于Oracle,你可以使用下面的查询:
SELECT u.index_name, u.table_name FROM user_indexes u;
-
对于SQL Server,可以使用下面的查询
SELECT t.name AS table_name, i.name AS index_name FROM sys.indexes i JOIN sys.tables t ON t.object_id = i.object_id WHERE i.is_primary_key = 0 AND i.is_unique = 0 AND i.is_unique_constraint = 0 AND t.is_ms_shipped = 0 ORDER BY t.name, i.name;
-
对于PostgreSQL,可以使用下面的查询
SELECT t.relname AS table_name, i.relname AS index_name FROM pg_class t, pg_class i, pg_index ix WHERE t.oid = ix.indrelid AND i.oid = ix.indexrelid AND t.relkind = 'r' AND t.relname = 'your_table_name';
请将’your_table_name’更改为你的表名。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/173269.html