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;
输出
在执行以上查询时,输出结果如下所示:
Table | Non_unique | Key_name | Seq_in_index | Column_name |
---|---|---|---|---|
customers | 0 | PRIMARY | 1 | ID |
customers | 1 | index_name | 1 | NAME |
显示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 上 | NAME |
PK__CUSTOMER__ 3214EC27755869D9 | 聚集、唯一的主键索引位于 PRIMARY 上 | ID |