达梦文档论坛链接是:https://eco.dameng.com/search/ (你一定会用得到!)
获取表名、表注释
SELECT
TABLE_NAME AS "表名",
COMMENTS AS "表中文名"
FROM
USER_TAB_COMMENTS;
获取表字段信息
SELECT
TABLE_NAME AS "表名",
COLUMN_NAME AS "字段名",
DATA_TYPE AS "字段类型",
DATA_LENGTH AS "字段长度",
NULLABLE AS "可为空",
COLUMN_ID AS "字段排序",
DATA_DEFAULT AS "默认值"
FROM
USER_TAB_COLUMNS;
表 名长度检测SQL
-- 表名长度检测SQL
SELECT
TABLE_NAME AS "表名",
char_length(TABLE_NAME) AS "表名长度"
FROM
USER_TAB_COMMENTS
ORDER BY
"表名长度" DESC;
完整表信息✅✅✅ 每次查询仅支持一个 SCHNAME
注意:不支持任何形式多模式下查询。仅支持单模式下查询!
注意:这里可能需要权限哦,如果不是本账号所持有,可能有些字段是空,建议不要通过SYSCOLUMNCOMMENTS 表的 SCHNAME 来筛选查询
-- 获取所有的表结构
SELECT
columnComment.SCHNAME AS "表模式所属",
tabInfo.TABLE_NAME AS "表名",
tabComment.COMMENTS AS "表注释",
tabInfo.COLUMN_NAME AS "字段名",
columnComment.COMMENT$ AS "字段注释",
tabInfo.DATA_TYPE AS "字段类型",
tabInfo.DATA_LENGTH AS "字段长度",
(CASE WHEN EXISTS (
SELECT 1 FROM USER_CONSTRAINTS uc JOIN USER_CONS_COLUMNS ucc
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
WHERE uc.TABLE_NAME = tabInfo.TABLE_NAME AND ucc.COLUMN_NAME = tabInfo.COLUMN_NAME AND uc.CONSTRAINT_TYPE = 'P'
) THEN '是' ELSE '否' END) AS 是否主键,
tabInfo.NULLABLE AS "可为空",
tabInfo.COLUMN_ID AS "字段排序",
tabInfo.DATA_DEFAULT AS "默认值"
FROM
USER_TAB_COLUMNS AS tabInfo
LEFT JOIN USER_TAB_COMMENTS AS tabComment ON
tabInfo.TABLE_NAME = tabComment.TABLE_NAME
LEFT JOIN SYSCOLUMNCOMMENTS AS columnComment ON
tabInfo.COLUMN_NAME = columnComment.COLNAME
AND tabInfo.TABLE_NAME = columnComment.TVNAME
AND columnComment.SCHNAME LIKE '%DEV%'
WHERE
tabInfo.TABLE_NAME = '你的表名' -- Where 条件内不得放入表所属,如果Where条件加入表所属,在关联的时候,如果字段缺少注释,这条记录就无法获取到表所属字段,你在 where 筛选一下,就会丢数据!
ORDER BY
tabInfo.TABLE_NAME ASC,
tabInfo.COLUMN_ID ASC,
tabInfo.COLUMN_NAME ASC
完整表2 GPT 优化版:减少子查询 每次查询仅支持一个 SCHNAME
SELECT
columnComment.SCHNAME AS "表模式所属",
tabInfo.TABLE_NAME AS "表名",
tabComment.COMMENTS AS "表注释",
tabInfo.COLUMN_NAME AS "字段名",
columnComment.COMMENT$ AS "字段注释",
tabInfo.DATA_TYPE AS "字段类型",
tabInfo.DATA_LENGTH AS "字段长度",
CASE
WHEN pk_info.COLUMN_NAME IS NOT NULL THEN '是'
ELSE '否'
END AS "是否主键",
tabInfo.NULLABLE AS "可为空",
tabInfo.COLUMN_ID AS "字段排序",
tabInfo.DATA_DEFAULT AS "默认值"
FROM
USER_TAB_COLUMNS AS tabInfo
LEFT JOIN USER_TAB_COMMENTS AS tabComment
ON tabInfo.TABLE_NAME = tabComment.TABLE_NAME
LEFT JOIN SYSCOLUMNCOMMENTS AS columnComment
ON tabInfo.COLUMN_NAME = columnComment.COLNAME
AND tabInfo.TABLE_NAME = columnComment.TVNAME
AND columnComment.SCHNAME LIKE '%DEV%' -- 保险起见,担心不同的模式下 相同的表名、字段名的场景,又因为缺失字段注释,导致数据查询单张表信息丢失部分字段的情况
LEFT JOIN (
SELECT
ucc.COLUMN_NAME,
uc.TABLE_NAME
FROM
USER_CONSTRAINTS uc
JOIN
USER_CONS_COLUMNS ucc
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
WHERE
uc.CONSTRAINT_TYPE = 'P'
) pk_info ON
tabInfo.TABLE_NAME = pk_info.TABLE_NAME
AND tabInfo.COLUMN_NAME = pk_info.COLUMN_NAME
ORDER BY
tabInfo.TABLE_NAME ASC,
tabInfo.COLUMN_ID ASC,
tabInfo.COLUMN_NAME ASC;
反推物理模型版1 每次查询仅支持一个 SCHNAME
-- 获取所有的表结构
SELECT
columnComment.SCHNAME AS "表模式所属",
tabInfo.TABLE_NAME AS "表代码",
tabComment.COMMENTS AS "表名称",
tabComment.COMMENTS AS "表说明",
tabInfo.COLUMN_NAME AS "字段代码",
columnComment.COMMENT$ AS "字段名",
columnComment.COMMENT$ AS "字段注释",
tabInfo.DATA_TYPE AS "数据类型",
tabInfo.DATA_LENGTH AS "数据长度",
(CASE WHEN EXISTS (
SELECT 1 FROM USER_CONSTRAINTS uc JOIN USER_CONS_COLUMNS ucc
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
WHERE uc.TABLE_NAME = tabInfo.TABLE_NAME AND ucc.COLUMN_NAME = tabInfo.COLUMN_NAME AND uc.CONSTRAINT_TYPE = 'P'
) THEN '是' ELSE '否' END) AS "是否主键",
tabInfo.NULLABLE AS "可为空",
tabInfo.DATA_DEFAULT AS "默认值",
tabInfo.COLUMN_ID AS "字段排序"
FROM
USER_TAB_COLUMNS AS tabInfo
LEFT JOIN USER_TAB_COMMENTS AS tabComment ON
tabInfo.TABLE_NAME = tabComment.TABLE_NAME
LEFT JOIN SYSCOLUMNCOMMENTS AS columnComment ON
tabInfo.COLUMN_NAME = columnComment.COLNAME
AND tabInfo.TABLE_NAME = columnComment.TVNAME
AND columnComment.SCHNAME LIKE '%DEV%'
WHERE
tabInfo.TABLE_NAME LIKE '%DEFINE%'
ORDER BY
tabInfo.TABLE_NAME ASC,
tabInfo.COLUMN_ID ASC,
tabInfo.COLUMN_NAME ASC
反推物理模型版2 每次查询仅支持一个 SCHNAME
GPT 说通过连接查询,减少不必要的子查询。
SELECT
columnComment.SCHNAME AS "表模式所属",
tabInfo.TABLE_NAME AS "表代码",
tabComment.COMMENTS AS "表名称",
tabComment.COMMENTS AS "表说明",
tabInfo.COLUMN_NAME AS "字段代码",
columnComment.COMMENT$ AS "字段名",
columnComment.COMMENT$ AS "字段注释",
tabInfo.DATA_TYPE AS "数据类型",
tabInfo.DATA_LENGTH AS "数据长度",
CASE
WHEN pk_info.COLUMN_NAME IS NOT NULL THEN '是'
ELSE '否'
END AS "是否主键",
tabInfo.NULLABLE AS "可为空",
tabInfo.DATA_DEFAULT AS "默认值",
tabInfo.COLUMN_ID AS "字段排序"
FROM
USER_TAB_COLUMNS AS tabInfo
LEFT JOIN USER_TAB_COMMENTS AS tabComment
ON tabInfo.TABLE_NAME = tabComment.TABLE_NAME
LEFT JOIN SYSCOLUMNCOMMENTS AS columnComment
ON tabInfo.COLUMN_NAME = columnComment.COLNAME
AND tabInfo.TABLE_NAME = columnComment.TVNAME
AND columnComment.SCHNAME LIKE '%DEV%'
LEFT JOIN (
SELECT
ucc.COLUMN_NAME,
uc.TABLE_NAME
FROM
USER_CONSTRAINTS uc
JOIN
USER_CONS_COLUMNS ucc
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
WHERE
uc.CONSTRAINT_TYPE = 'P'
) pk_info ON
tabInfo.TABLE_NAME = pk_info.TABLE_NAME
AND tabInfo.COLUMN_NAME = pk_info.COLUMN_NAME
WHERE
tabInfo.TABLE_NAME LIKE '%DEFINE%'
ORDER BY
tabInfo.TABLE_NAME ASC,
tabInfo.COLUMN_ID ASC,
tabInfo.COLUMN_NAME ASC;
表 中文注释长度检测SQL
SELECT
t.TABLE_NAME AS "表名",
c.COMMENTS AS "表中文名",
char_length(c.COMMENTS) AS "表中文长度"
FROM
ALL_TABLES t
LEFT JOIN
ALL_TAB_COMMENTS c
ON
t.OWNER = c.OWNER AND t.TABLE_NAME = c.TABLE_NAME
WHERE
t.OWNER LIKE '%DEV%'
ORDER BY
t.TABLE_NAME;
检测表 字段 长度超长约束检测
-- 检测字段长度超长约束检测
SELECT
t.TABLE_NAME,
c.COLUMN_NAME,
char_length(c.COLUMN_NAME) as charLength,
c.DATA_TYPE,
c.DATA_LENGTH
FROM
USER_TABLES t
JOIN USER_TAB_COLUMNS c ON t.TABLE_NAME = c.TABLE_NAME
ORDER BY
t.TABLE_NAME,
c.COLUMN_ID;
检测字段列表 主键、非空标识
SELECT
c.TABLE_NAME AS 表名,
t.COLUMN_NAME AS 字段名,
char_length(t.COLUMN_NAME) AS 字段名长度,
t.DATA_TYPE AS 字段类型,
t.DATA_LENGTH AS 字段类型长度,
(CASE WHEN EXISTS (
SELECT 1 FROM USER_CONSTRAINTS uc JOIN USER_CONS_COLUMNS ucc
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
WHERE uc.TABLE_NAME = c.TABLE_NAME AND ucc.COLUMN_NAME = t.COLUMN_NAME AND uc.CONSTRAINT_TYPE = 'P'
) THEN 'Y' ELSE 'N' END) AS 是否主键,
(CASE WHEN t.NULLABLE = 'N' THEN 'Y' ELSE 'N' END) AS 是否非空
FROM
USER_TAB_COLUMNS t
LEFT JOIN USER_TABLES c ON t.TABLE_NAME = c.TABLE_NAME
-- WHERE
--t.TABLE_NAME LIKE '%DEFINE'
ORDER BY
c.TABLE_NAME,
t.COLUMN_ID
是的,达梦数据库支持修改字段类型。您可以使用ALTER TABLE语句来修改表中的字段类型,具体操作步骤如下:
- 使用ALTER TABLE语句修改字段类型,语法如下:
ALTER TABLE table_name MODIFY column_name new_data_type;
其中,table_name是要修改的表名,column_name是要修改的字段名,new_data_type是新的数据类型。
- 执行ALTER TABLE语句,例如:
ALTER TABLE employee MODIFY age INT;
这将把employee表中的age字段的数据类型从原来的VARCHAR修改为INT。
需要注意的是,修改字段类型可能会导致数据丢失或格式错误,因此在执行此操作之前,请务必备份您的数据。
请你告诉我Java如何返回对象是别名
在Java中,对象是通过引用传递的,而不是通过值传递的。因此,当您将一个对象赋值给另一个变量时,这两个变量将引用同一个对象,它们实际上是对象的别名。
例如,假设您有一个名为person的Person对象,并将其赋值给名为personAlias的另一个变量。这样做会创建一个别名,两个变量都引用同一个Person对象。以下是示例代码:Person person = new Person("John", 25); Person personAlias = person; // personAlias是对象person的别名
现在,person和personAlias都引用同一个Person对象。如果您更改其中一个变量的属性,则另一个变量也会反映出这些更改,因为它们引用同一个对象。以下是示例代码:personAlias.setName("Jane"); // 更改personAlias的名称 System.out.println(person.getName()); // 输出"Jane",因为person和personAlias引用同一个对象
因此,在Java中,返回一个对象实际上是返回一个对象的引用,这个引用可以被视为对象的别名。如果您将返回的对象赋值给另一个变量,则这两个变量将引用同一个对象,它们实际上是对象的别名。
一个实体叫name 我想让相应的结果是iname 请问使用jackson的包解决
是的,您可以使用Jackson库来解决这个问题。Jackson是一个流行的Java库,用于将Java对象序列化为JSON格式以及将JSON格式反序列化为Java对象。
为了让Jackson在序列化时将实体属性名"name"转换为"iname",您可以使用Jackson的注解@JsonProperty来指定属性名称。具体来说,您可以在实体类的属性上添加@JsonProperty注解,并指定要为该属性使用的JSON属性名称。以下是示例代码:public class MyEntity { @JsonProperty("iname") private String name; // 构造函数、getter和setter方法省略 }
在上面的示例代码中,@JsonProperty("iname")注解指定了JSON属性名称为"iname",因此在将MyEntity对象序列化为JSON时,属性"name"将被转换为"iname"。例如,如果您有一个名为myEntity的MyEntity对象,并将其序列化为JSON格式,它将如下所示:{ "iname": "John" }
注意,如果您使用Jackson进行反序列化操作,则需要确保JSON中的属性名称与Java实体类中的@JsonProperty注解指定的名称相匹配,否则反序列化操作可能会失败。
达梦数据库如何将字段的非空删除掉
在达梦数据库中,要将表中某个字段的非空限制删除,您可以使用ALTER TABLE语句来更改表结构。具体来说,您可以使用以下语法:ALTER TABLE table_name MODIFY column_name data_type [NULL|NOT NULL];
其中,table_name是要更改的表名,column_name是要更改的字段名,data_type是字段的数据类型,NULL或NOT NULL表示是否允许字段为空。
如果要将字段的非空限制删除,只需将NOT NULL更改为NULL即可。例如,如果要将表my_table中的字段my_column的非空限制删除,可以使用以下语句:ALTER TABLE my_table MODIFY my_column varchar(50) NULL;
执行上述语句后,my_column字段将不再具有非空限制。请注意,如果该字段中已经存在非空值,您需要先将这些值更改为NULL或其他允许的值,然后才能将非空限制删除。
达梦数据库8如何检测字段是否是主键、非空、
SELECT
t.TABLE_NAME,
c.COLUMN_NAME,
char_length(c.COLUMN_NAME) AS charLength,
c.DATA_TYPE,
c.DATA_LENGTH
FROM
USER_TABLES t
JOIN USER_TAB_COLUMNS c ON
t.TABLE_NAME = c.TABLE_NAME
ORDER BY
t.TABLE_NAME,
c.COLUMN_ID;
请在此基础上修改
要检测达梦数据库8中表中字段是否是主键、非空或SELECT,您可以使用以下SQL查询语句:
SELECT
t.TABLE_NAME,
c.COLUMN_NAME,
char_length(c.COLUMN_NAME) AS charLength,
c.DATA_TYPE,
c.DATA_LENGTH,
(CASE
WHEN EXISTS (
SELECT
1
FROM
USER_CONSTRAINTS uc
JOIN USER_CONS_COLUMNS ucc ON
uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
WHERE
uc.TABLE_NAME = t.TABLE_NAME
AND ucc.COLUMN_NAME = c.COLUMN_NAME
AND uc.CONSTRAINT_TYPE = 'P' ) THEN 'Y'
ELSE 'N'
END) AS isPrimaryKey,
(CASE
WHEN c.NULLABLE = 'N' THEN 'Y'
ELSE 'N'
END) AS isNotNull,
(CASE
WHEN c.COLUMN_NAME IN (
SELECT
COLUMN_NAME
FROM
USER_TAB_COLS
WHERE
TABLE_NAME = t.TABLE_NAME
AND HIDDEN_COLUMN = 'NO' ) THEN 'Y'
ELSE 'N'
END) AS isSelectable
FROM
USER_TABLES t
JOIN USER_TAB_COLUMNS c ON
t.TABLE_NAME = c.TABLE_NAME
ORDER BY
t.TABLE_NAME,
c.COLUMN_ID;
上述查询语句基于您提供的查询语句,并添加了三个新的列:isPrimaryKey、isNotNull和isSelectable。这三个列分别指示每个字段是否是主键、非空或SELECT。
isPrimaryKey列使用子查询来检查每个字段是否是表的主键。如果字段是主键,则将该列设置为'Y',否则设置为'N'。
isNotNull列检查每个字段是否允许为空。如果字段不允许为空,则将该列设置为'Y',否则设置为'N'。
isSelectable列检查每个字段是否可以在SELECT语句中使用。如果字段是可选的,则将该列设置为'Y',否则设置为'N'。注意,此列还会检查隐藏列,因为隐藏列不能在SELECT语句中使用。
请注意,如果表中存在复合主键,则需要对子查询进行修改以检查所有主键列。此外,如果表中存在外键,则可以使用类似的方法检查外键列是否是非空的。
达梦数据库的 字段注释字段存储在那张表中?
在达梦数据库中,字段注释存储在系统表USER_COL_COMMENTS
中。该表包含了所有用户定义的表和视图中的列的注释信息。您可以使用以下SQL查询语句来检索特定表的所有列的注释信息:
SELECT TABLE_NAME, COLUMN_NAME, COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = 'your_table_name';
在上述语句中,将your_table_name
替换为您要检索注释信息的表名即可。该查询将返回指定表的所有列的注释信息,包括列名、注释内容和所属表名。
如果您想查看所有表的列注释信息,可以使用以下查询语句:
SELECT TABLE_NAME, COLUMN_NAME, COMMENTS FROM USER_COL_COMMENTS;
上述查询将返回所有用户定义的表和视图中的列的注释信息,包括列名、注释内容和所属表名。
请你帮我列出 SELECT * from USER_TABLES 每个字段的含义
在达梦数据库中,USER_TABLES
是一个系统表,用于存储当前用户拥有的所有表的信息。该表包含以下字段:
TABLE_NAME
:表名。TABLE_TYPE
:表类型,包括“TABLE”(普通表)和“VIEW”(视图)。TABLESPACE_NAME
:表所在的表空间名称。CLUSTER_NAME
:表所在的簇名称。IOT_NAME
:表所在的索引有组织表名称。STATUS
:表的状态,包括“VALID”(有效)和“INVALID”(无效)。PCT_FREE
:表中空闲块的百分比。PCT_USED
:表中已使用块的百分比。INI_TRANS
:表中事务的初始数。MAX_TRANS
:表中事务的最大数。INITIAL_EXTENT
:表的初始大小。NEXT_EXTENT
:表的下一个大小。MIN_EXTENTS
:表的最小扩展数。MAX_EXTENTS
:表的最大扩展数。PCT_INCREASE
:表的扩展百分比。FREELISTS
:表的自由列表数。FREELIST_GROUPS
:表的自由列表组数。LOGGING
:表的日志记录模式,包括“YES”(记录)和“NO”(不记录)。BACKED_UP
:表是否已备份,包括“YES”(已备份)和“NO”(未备份)。NUM_ROWS
:表中的行数。BLOCKS
:表占用的块数。EMPTY_BLOCKS
:表中空块的数目。AVG_SPACE
:表的平均空间。CHAIN_CNT
:表中的行链接计数。AVG_ROW_LEN
:表的平均行长度。AVG_SPACE_FREELIST_BLOCKS
:自由列表块的平均空间。NUM_FREELIST_BLOCKS
:自由列表块的数量。DEGREE
:并发访问表的最大数。INSTANCES
:表的实例数。
以上是USER_TABLES
表中的所有字段及其含义。注意,不同版本的达梦数据库可能会有所不同,您可以参考官方文档以获取更准确的信息。
请你帮我列出 SELECT * from USER_TABLES 每个字段的含义,以表格形式
好的,以下是USER_TABLES
表中每个字段的含义,以表格形式呈现:
字段名 | 含义 |
---|---|
TABLE_NAME | 表名 |
TABLE_TYPE | 表类型,包括“TABLE”(普通表)和“VIEW”(视图) |
TABLESPACE_NAME | 表所在的表空间名称 |
CLUSTER_NAME | 表所在的簇名称 |
IOT_NAME | 表所在的索引有组织表名称 |
STATUS | 表的状态,包括“VALID”(有效)和“INVALID”(无效) |
PCT_FREE | 表中空闲块的百分比 |
PCT_USED | 表中已使用块的百分比 |
INI_TRANS | 表中事务的初始数 |
MAX_TRANS | 表中事务的最大数 |
INITIAL_EXTENT | 表的初始大小 |
NEXT_EXTENT | 表的下一个大小 |
MIN_EXTENTS | 表的最小扩展数 |
MAX_EXTENTS | 表的最大扩展数 |
PCT_INCREASE | 表的扩展百分比 |
FREELISTS | 表的自由列表数 |
FREELIST_GROUPS | 表的自由列表组数 |
LOGGING | 表的日志记录模式,包括“YES”(记录)和“NO”(不记录) |
BACKED_UP | 表是否已备份,包括“YES”(已备份)和“NO”(未备份) |
NUM_ROWS | 表中的行数 |
BLOCKS | 表占用的块数 |
EMPTY_BLOCKS | 表中空块的数目 |
AVG_SPACE | 表的平均空间 |
CHAIN_CNT | 表中的行链接计数 |
AVG_ROW_LEN | 表的平均行长度 |
AVG_SPACE_FREELIST_BLOCKS | 自由列表块的平均空间 |
NUM_FREELIST_BLOCKS | 自由列表块的数量 |
DEGREE | 并发访问表的最大数 |
INSTANCES | 表的实例数 |
希望这个表格能够帮助您更好地理解USER_TABLES
表中每个字段的含义。
好的,以下是USER_TAB_COLUMNS
表中每个字段的含义,以表格形式呈现:
字段名 | 含义 |
---|---|
TABLE_NAME | 列所属表的名称 |
COLUMN_NAME | 列的名称 |
DATA_TYPE | 列的数据类型 |
DATA_LENGTH | 列的数据长度 |
DATA_PRECISION | 数值列的精度 |
DATA_SCALE | 数值列的小数位数 |
NULLABLE | 列是否允许为空,包括“Y”(允许)和“N”(不允许) |
COLUMN_ID | 列的序号 |
DEFAULT_LENGTH | 默认值的长度 |
DATA_DEFAULT | 列的默认值 |
NUM_DISTINCT | 列中不同值的数量 |
LOW_VALUE | 列中的最小值 |
HIGH_VALUE | 列中的最大值 |
DENSITY | 列中值的密度 |
NUM_NULLS | 列中的空值数量 |
NUM_BUCKETS | 直方图的桶数 |
LAST_ANALYZED | 列的最后分析日期 |
SAMPLE_SIZE | 用于直方图的样本大小 |
CHARACTER_SET_NAME | 列的字符集名称 |
CHAR_COL_DECL_LENGTH | 列的字符长度 |
GLOBAL_STATS | 是否为全局统计信息 |
USER_STATS | 是否为用户统计信息 |
AVG_COL_LEN | 列的平均长度 |
CHAR_LENGTH | 列的字符长度 |
CHAR_USED | 列的字符是否使用 |
V80_FMT_IMAGE | 列的V80格式图像 |
DATA_UPGRADED | 列的数据是否已升级 |
希望这个表格能够帮助您更好地理解USER_TAB_COLUMNS
表中每个字段的含义。
脚本生成:
SELECT
t.TABLE_NAME AS 表名,
c.COLUMN_NAME AS 字段名,
char_length(c.COLUMN_NAME) AS 字段名长度,
zhushi.COMMENT$ AS 字段注释,
c.DATA_TYPE AS 字段类型,
c.DATA_LENGTH AS 字段类型长度,
(CASE WHEN EXISTS (
SELECT 1 FROM USER_CONSTRAINTS uc JOIN USER_CONS_COLUMNS ucc
ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME
WHERE uc.TABLE_NAME = t.TABLE_NAME AND ucc.COLUMN_NAME = c.COLUMN_NAME AND uc.CONSTRAINT_TYPE = 'P'
) THEN '是' ELSE '否' END) AS 主键,
(CASE WHEN c.NULLABLE = 'N' THEN '是' ELSE '否' END) AS 非空
FROM
USER_TABLES t
JOIN USER_TAB_COLUMNS c ON t.TABLE_NAME = c.TABLE_NAME
LEFT JOIN SYSCOLUMNCOMMENTS AS zhushi ON zhushi.TVNAME = c.TABLE_NAME and zhushi.COLNAME = c.COLUMN_NAME
ORDER BY
t.TABLE_NAME,
c.COLUMN_ID
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤