查询oracle表字段信息
表字段的信息咱们可以称之为元数据,今天有人问怎么把表字段的信息导出来,说实话我还不会用plsql develper把表的结构导出来,像下图所示:
在写数据库设计说明书的时候,想要把这个表格拷贝出来,这样就事半功倍,不用一个个复制粘贴了,而且减少出错的概率,但遗憾的是,这个界面似乎不支持全选和多选,无法整体复制,或许plsql develper具有这个功能,只是现在我还不知道,但oralce作为最强大的数据存储机制,元数据方面肯定做得非常好,所以这个问题肯定可以有替代办法。进过一段时间的实验,可以满足基本需求:
select t.table_name,t.column_name,c.DATA_TYPE,c.DATA_LENGTH,t.comments from USER_COL_COMMENTS t,USER_TAB_COLUMNS c where c.column_name= t.column_name and c.TABLE_NAME='CONFIG_DB' and c.TABLE_NAME=t.TABLE_NAME
效果如下图:
可以看到,这个表示支持多选和复制的,而这儿的信息也与上图一致,可以满足我们的要求。
如果需要把数据长度和数据类型写在一起,可以使用以下改良版:
select t.table_name,t.column_name,c.DATA_TYPE||'('||c.DATA_LENGTH||')',t.comments from USER_COL_COMMENTS t,USER_TAB_COLUMNS c where c.column_name= t.column_name and c.TABLE_NAME='CONFIG_DB' and c.TABLE_NAME=t.TABLE_NAME
效果如图:
如果还有更简单或者更好的方法,敬请读者指教。