如何在db2中查找表中可用的所有索引?如何查找DB2中的表中可用的所有索引
回答
db2 "select * from syscat.indexes where tabname = 'your table name here' \
and tabschema = 'your schema name here'"
你也可以執行:
DESCRIBE INDEXES FOR TABLE SCHEMA.TABLE SHOW DETAIL
請注意,'describe'命令僅適用於DB2客戶端,而不是通過JDBC或其他接口,因爲它不是標準的SQL。 – sventechie 2013-05-20 20:25:56
+1對於SHOW DETAIL – Ashley 2013-11-20 20:56:50
另一種方式是生成表的DDL。 它會給你表的完整描述,包括它的索引。
只需右鍵單擊表並單擊生成DDL /腳本。
適用於大部分數據庫。
您可以使用以下命令獲取索引的詳細信息。
describe indexes for table schemaname.tablename show detail
@ProgramFOX給出的是tha問題的答案! – 2013-12-31 10:56:31
好的,因爲該命令沒有被格式化爲代碼,我以爲你要求澄清。 – ProgramFOX 2013-12-31 11:00:42
要查看所有索引: -
select * from user_objects
where object_type='INDEX'
要查看錶的索引及其列:
select * from USER_IND_COLUMNS where TABLE_NAME='my_table'
這取決於你所使用的DB2版本。 我們有v7r1m0,下面的查詢工作得很好。
WITH IndexCTE (Schema, Table, Unique, Name, Type, Columns) AS
(SELECT i.table_schema, i.Table_Name, i.Is_Unique,
s.Index_Name, s.Index_Type, s.column_names
FROM qsys2.SysIndexes i
INNER JOIN qsys2.SysTableIndexStat s
ON i.table_schema = s.table_schema
and i.table_name = s.table_name
and i.index_name = s.index_name)
SELECT *
FROM IndexCTE
WHERE schema = 'LIBDEK'
AND table = 'ECOMROUT'
如果你不熟悉CTE,他們值得了解。我們的AS400命名約定很糟糕,所以我一直在使用CTE來規範字段名稱。我最終創建了一個CTE庫,並將其自動附加到所有查詢的頂部。
什麼是'qsys2'? – david 2017-07-22 05:32:29
qsys2是一個庫。您可以將其視爲sql server中的主數據庫。 – 2017-07-24 14:30:15
- 1. 如何索引MySQL中的查找表
- 2. 找到DB2中的所有空表
- 3. 使用流API查找列表中項目的所有索引
- 4. 查找號碼的所有索引列表中的
- 5. 如何查找SQL Server中特定索引的所有列?
- 6. 如何查找數組中給定元素的所有索引?
- 7. 如何查找字符串中的所有第一個索引?
- 8. 如何查找列表中具有相同字符串的所有索引?
- 9. 搜索db2數據庫所有表的所有列中的值
- 10. 查找Groovy列表中元素的所有索引
- 11. 如何查找python多維列表中特定值以上的所有索引
- 12. 如何使用索引來查找所有的值大於
- 13. C# - 查找子串的所有索引
- 14. 查找具有特定值的數組中的所有索引
- 15. 如何查找可以創建全文搜索索引的所有列?
- 16. DB2找到引用我的表的表
- 17. 如何在Oracle中找到列中的所有功能索引
- 18. 在C#中查找字符串中的所有模式索引#
- 19. MySQL查找所有帶有全文索引列的表格
- 20. 如何查找所有源代碼中的類/方法的所有引用和Visual Studio中的引用的dll?
- 21. 如何使用jQuery查找表中某一行的索引
- 22. 查找字典中的值的所有索引python
- 23. 查找數組中的開始/結束索引的所有可能的排列
- 24. 如何找出MySQL表中的索引
- 25. 查找列表中的元素索引
- 26. 從Elixir的列表中查找索引
- 27. 查找循環中列表的索引
- 28. 如何在列表中查找子列表的索引?
- 29. 在SQL Server 2008中查找對錶列的所有引用
- 30. 查找存儲過程中未引用的所有表格
在我的情況下,名字是'tbname'。 – Uooo 2013-10-15 08:56:53
對於我的as400 db2數據庫,我需要查詢: select * from qsys2.systables WHERE Table_schema ='schema name'AND table_name ='Table name' – YLombardi 2015-04-23 15:22:57
@YLombardi或更確切地使用qsys2.sysindexes表(對於as400) – AtliB 2015-05-29 11:56:23