• 技术文章 >数据库 >Oracle

    oracle怎么查询所有索引

    长期闲置长期闲置2022-05-13 17:23:59原创389

    方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

    本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

    oracle怎么查询所有索引

    查看表中有哪些索引

    语法为:

    select * from user_indexes where table_name = '表名'

    或者

    select * from all_indexes where table_name = '表名'

    查看表中索引对应哪些列

    select * from user_ind_columns where table_name='表名'

    扩展知识:

    oracle中表的索引信息存在 user_indexes 和 user_ind_columns 两张表里面,

    其中

    user_indexes 系统视图存放是索引的名称以及该索引是否是唯一索引等信息,

    user_ind_columns 统视图存放的是索引名称,对应的表和列等

    sql示例:

    select* from all_indexes where table_name='ACM_NETWORK_OPERATION';
    select * from user_ind_columns where table_name='ACM_NETWORK_OPERATION';

    创建一个简单的索引

    SQL CREATE INDEX 语法

    在表上创建一个简单的索引。允许使用重复的值:

    CREATE INDEX index_name
    ON table_name (column_name)

    SQL CREATE UNIQUE INDEX 语法

    在表上创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。Creates a unique index on a table. Duplicate values are not allowed:

    CREATE UNIQUE INDEX index_name
    ON table_name (column_name)

    注释:用于创建索引的语法在不同的数据库中不一样。因此,检查您的数据库中创建索引的语法。

    CREATE INDEX 实例

    下面的 SQL 语句在 "Persons" 表的 "LastName" 列上创建一个名为 "PIndex" 的索引:

    CREATE INDEX PIndex
    ON Persons (LastName)

    如果您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:

    CREATE INDEX PIndex
    ON Persons (LastName, FirstName)

    Oracle 的 DROP INDEX 语法:

    DROP INDEX index_name

    推荐教程:《Oracle视频教程

    以上就是oracle怎么查询所有索引的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:Oracle怎么修改session 下一篇:oracle怎么查询表所在的表空间
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 怎样查看oracle有哪些表空间• oracle怎么删除日志组• oracle怎么删除sequence• oracle中dg和adg有什么区别• oracle怎么修改processes
    1/1

    PHP中文网