SQL 查询所有数据库、表名、表字段总结

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 = 要查询的表

 

posted @ 2016-06-12 11:18  狼人666  阅读(260)  评论(0编辑  收藏  举报