oracle查询表索引的sql语句
1. 查询所有表的索引
SELECT * FROM USER_INDEXES;
该语句可以查询当前用户拥有的所有表的索引,返回结果包含索引名称、所属表名、索引类型、是否为唯一索引等信息。
2. 查询指定表的所有索引
SELECT * FROM USER_INDEXES WHERE TABLE_NAME='table_name';
将table_name替换成需要查询的表名,该语句可查询指定表的所有索引信息。
3. 查询指定索引所属的表
SELECT TABLE_NAME FROM USER_INDEXES WHERE INDEX_NAME='index_name';
将index_name替换成需要查询的索引名称,该语句可查询指定索引所属的表名。
4. 查询指定表的主键索引
SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME='table_name' AND CONSTRAINT_TYPE='P';
将table_name替换成需要查询的表名,该语句可查询指定表的主键索引信息。
5. 查询指定表的外键索引
SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME='table_name' AND CONSTRAINT_TYPE='R';
将table_name替换成需要查询的表名,该语句可查询指定表的外键索引信息。
6. 查询指定索引的列名
SELECT COLUMN_NAME FROM USER_IND_COLUMNS WHERE INDEX_NAME='index_name';
将index_name替换成需要查询的索引名称,该语句可查询指定索引的列名。
7. 查询指定表的所有索引及其所包含的列名
SELECT INDEX_NAME, COLUMN_NAME FROM USER_IND_COLUMNS WHERE TABLE_NAME='table_name';
将table_name替换成需要查询的表名,该语句可查询指定表的所有索引及其所包含的列名。
8. 查询指定表的所有索引及其所包含的列名和列顺序
SELECT INDEX_NAME, COLUMN_NAME, COLUMN_POSITION FROM USER_IND_COLUMNS WHERE TABLE_NAME='table_name';
将table_name替换成需要查询的表名,该语句可查询指定表的所有索引及其所包含的列名和列顺序。
9. 查询指定表的某个索引是否为唯一索引
SELECT UNIQUENESS FROM USER_INDEXES WHERE TABLE_NAME='table_name'
AND INDEX_NAME='index_name';
将table_name和index_name替换成需要查询的表名和索引名称,该语句可查询指定表的某个索引是否为唯一索引。
10. 查询指定表的所有索引的大小
SELECT INDEX_NAME, SUM(BYTES)/1024/1024 AS SIZE_MB FROM USER_SEGMENTS WHERE SEGMENT_TYPE='INDEX' AND TABLE_NAME='table_name' GROUP BY INDEX_NAME;
将table_name替换成需要查询的表名,该语句可查询指定表的所有索引的大小,以MB为单位。
sql语句查询不包含
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论