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 | ssex | 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) |