SQL - 显示索引


SQL 显示索引语句

SHOW INDEX是基本的 SQL 语句,用于检索有关表上定义的索引的信息。但是,SHOW INDEX 语句仅适用于 MySQL RDBMS,在 SQL Server 中不是有效语句。

要列出在 SQL Server 中的表上创建的索引,可以使用系统存储过程sp_helpindex 。

对 MySQL 表执行 SHOW INDEX 语句查询得到的结果集包含索引信息。

句法

以下是 MySQL 中SHOW INDEX语句的语法-

SHOW INDEX FROM table_name;

例子

以下示例演示了 MySQL 中 SHOW INDEX 语句的工作原理。首先,使用下面的 CREATE 查询在 MySQL 数据库中创建一个名为 CUSTOMERS 的表 -

CREATE TABLE CUSTOMERS (
   ID INT NOT NULL,
   NAME VARCHAR (20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (20, 2),       
   PRIMARY KEY (ID)
 );

现在让我们使用以下查询将一些值插入到上面创建的表中 -

INSERT INTO CUSTOMERS VALUES 
(1, 'Ramesh', '32', 'Ahmedabad', 2000),
(2, 'Khilan', '25', 'Delhi', 1500),
(3, 'Kaushik', '23', 'Kota', 2000),
(4, 'Chaitali', '25', 'Mumbai', 6500),
(5, 'Hardik','27', 'Bhopal', 8500),
(6, 'Komal', '22', 'Hyderabad', 9000),
(7, 'Muffy', '24', 'Indore', 5500);

插入数据后,使用以下查询为 CUSTOMERS 表中的NAME列创建索引 -

CREATE INDEX INDEX_NAME ON CUSTOMERS(NAME);

现在,您可以使用以下查询列出 CUSTOMERS 表上定义的所有索引 -

SHOW INDEX FROM CUSTOMERS;

输出

执行上述查询时,输出显示如下 -

桌子 非唯一 键名 索引中的序列 列名
顾客 0 基本的 1 ID
顾客 1 索引名称 1 姓名

显示 SQL Server 中的索引

在SQL Server中,系统存储过程sp_helpindex用于检索有关表上定义的索引的信息。它将结果作为表返回,其中包含有关每个索引的详细信息,包括名称、类型和列。

句法

以下是列出 SQL Server 中表上定义的索引的基本语法 -

sp_helpindex [ @objname = ] 'name'

这里,[ @objname = ] 'name'指定正在检索其索引信息的表的名称。索引信息包括 -

  • index_name是索引中包含的列的名称。
  • index_description是索引的简要描述,例如索引的类型(例如聚集或非聚集)。
  • index_keys是索引中包含的键。

例子

CREATE INDEX INDEX_NAME on CUSTOMERS(NAME);

现在,让我们列出使用系统存储过程sp_helpindex在 CUSTOMERS 表上创建的所有索引,如下所示 -

EXEC sys.sp_helpindex @objname = N'CUSTOMERS';

输出

执行上述查询时,输出显示如下 -

索引名称 索引描述 索引键
INDEX_NAME

非集群位于 PRIMARY

姓名
PK__客户__ 3214EC27755869D9

聚集的、唯一的、位于 PRIMARY 上的主键

ID