查询所有数据库、表名、表字段的sql语句总结

发布时间:2019-09-06编辑:脚本学堂
查询所有数据库、表名、表字段的sql语句,包括 sql server、oracle都适用,有需要的朋友,可以参考下。

一、sql server
1、查询所有表
 

复制代码 代码示例:
select [id], [name] from [sysobjects] where [type] = 'u' order by [name]

2、查询所有数据库
 

复制代码 代码示例:
select [name] from [sysdatabases] order by [name]

3、查询表中字段
 

复制代码 代码示例:
select [name] from [syscolumns] where [name] = 'tableXXX'order by [colid]

二、oracle

1、查找表的所有索引(包括索引名,类型,构成列):
 

复制代码 代码示例:
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表

2、查找表的主键(包括名称,构成列):
 

复制代码 代码示例:
select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表

3、查找表的唯一性约束(包括名称,构成列):
 

复制代码 代码示例:
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表

4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
 

复制代码 代码示例:
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表

查询外键约束的列名:
 

复制代码 代码示例:
select * from user_cons_columns cl where cl.constraint_name = 外键名称

查询引用表的键的列名:
 

复制代码 代码示例:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名

5、查询表的所有列及其属性
 

复制代码 代码示例:
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表

6、查询所有表
 

复制代码 代码示例:
select* from tabs