DBA_TAB_COLUMNS
DBA_TAB_COLUMNS视图存储关于表和视图的字段的信息。数据库里每个表的每个字段都在DBA_TAB_COLUMNS里有一行。需要有系统管理员权限才可以访问。
名称 | 类型 | 描述 |
|---|---|---|
owner | character varying(64) | 表或视图的所有者。 |
table_name | character varying(64) | 表名或视图名。 |
column_name | character varying(64) | 列名。 |
data_type | character varying(128) | 列的数据类型。 |
column_id | integer | 创建表或视图时列的序号。 |
data_length | integer | 列的字节长度。 |
comments | text | 注释。 |
avg_col_len | numeric | 列的平均长度(单位字节)。 |
nullable | bpchar | 该列是否允许为空,对于主键约束和非空约束,该值为n。 |
data_precision | integer | 数据类型的精度,对于numeric数据类型有效,其他类型为NULL。 |
data_scale | integer | 小数点右边的位数,对于numeric数据类型有效,其他类型为0。 |
char_length | numeric | 列的长度(单位字符),只对varchar,nvarchar2, bpchar,char类型有效。 |
schema | character varying(64) | 包含该表或视图的命名空间。 |
kind | text | 当前记录所属的种类,如果此列属于表,则此字段显示为table;如果此列属于视图,则此字段显示为view。 |
应用示例
查询指定schema下的所有表字段信息:
1 2 3 4 5 6 7 8 9 10 11 12 | SELECT * FROM DBA_TAB_COLUMNS WHERE schema = 'public'; owner | table_name | column_name | data_type | column_id | data_length | comments | avg_col_len | nullable | data_precision | data_scale | char_length | schema | kind ---------+------------+-------------+-----------+-----------+-------------+----------+-------------+----------+----------------+------------+-------------+--------+------- dbadmin | t_customer | id | int4 | 1 | 4 | 主键 | | n | | 0 | 0 | public | table dbadmin | student | sschool | varchar | 4 | 10 | | | n | | 0 | 10 | public | table dbadmin | student | sgender | varchar | 3 | 10 | | | n | | 0 | 10 | public | table dbadmin | student | sname | varchar | 2 | 10 | | | n | | 0 | 10 | public | table dbadmin | student | sid | varchar | 1 | 10 | | | n | | 0 | 10 | public | table dbadmin | t_customer | email | varchar | 4 | 32 | email | | n | | 0 | 32 | public | table dbadmin | t_customer | gender | varchar | 3 | 10 | 性别 | | n | | 0 | 10 | public | table dbadmin | t_customer | cust_name | varchar | 2 | 32 | 名字 | | n | | 0 | 32 | public | table (8 rows) |

