1. 基本知识
Oracle数据库中,表结构信息包含列名、数据类型、长度、可空性、默认值以及字段注释等,这些信息对于理解数据库设计和维护非常重要
基本的属性要点如下:
- 表名(TABLE_NAME):数据库中定义的数据集合
- 列名(COLUMN_NAME):表中的字段名称
- 数据类型(DATA_TYPE):字段存储的数据类型,如VARCHAR2、NUMBER等
- 数据长度(DATA_LENGTH):字段可以存储的最大字符数或字节数
- 可空性(NULLABLE):指示字段是否允许存储NULL值
- 默认值(DATA_DEFAULT):在插入新记录时,如果未指定字段值,则使用的默认值
- 备注(COMMENTS):字段的描述性信息,提供额外的上下文
2. Demo
基本的查询Demo如下:
获取表结构信息及字段注释
SELECT
col.COLUMN_NAME AS "列名",
col.DATA_TYPE AS "数据类型",
col.DATA_LENGTH AS "长度",
col.NULLABLE AS "是否为空",
col.DATA_DEFAULT AS "默认值",
com.COMMENTS AS "备注"
FROM
ALL_TAB_COLUMNS col
JOIN
ALL_COL_COMMENTS com
ON
col.TABLE_NAME = com.TABLE_NAME
AND col.COLUMN_NAME = com.COLUMN_NAME
WHERE
col.TABLE_NAME = '表名'
截图如下:
如果是仅获取字段注释
SELECT
COLUMN_NAME AS "列名",
COMMENTS AS "备注"
FROM
ALL_COL_COMMENTS
WHERE
TABLE_NAME = '表名'
截图如下:
如果是使用SQLPlus获取结构信息
在SQLPlus中,可以使用DESCRIBE命令快速查看表的结构:
DESC E_DEVICE_REAL;
3. 补充Mysql
Oracle与Mysql的个别字段有所差异:
列名、数据类型、长度、可空性、默认值和备注,可以使用以下查询
SELECT
COLUMN_NAME AS "列名",
COLUMN_TYPE AS "数据类型",
DATA_TYPE AS "字段类型",
CHARACTER_MAXIMUM_LENGTH AS "长度",
IS_NULLABLE AS "是否为空",
COLUMN_DEFAULT AS "默认值",
COLUMN_COMMENT AS "备注"
FROM
information_schema.COLUMNS
WHERE
TABLE_NAME = '表名' -- 替换为你的表名