jdbc获取mysql 列信息_JDBC获取数据库信息:获取表中各列的信息

本文详细介绍了如何使用JDBC的getColumns方法获取MySQL数据库中表的列信息,包括列的名称、类型、大小等属性。同时,还阐述了getColumnPrivileges方法的用法,用于获取数据列的访问权限信息,包括权限的授权人、被授权者和权限类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ResultSet getColumns(String catalog,String schemaPattern,String tableNamePattern,String columNamePattern) throws SQLException

用于获得目录catalog中可用的数据表的数据列的信息

参数列表:Catalog:表示一个目录名

schemaPattern:表示模式名类型

tableNamePattern:表示数据名类型

columnNamePattern:表示数据列名类型

返回值是一个ResultSet对象,其中每一行描述一个数据列。每个数据列包含以下属性:TABLE_CAT:表示数据表的目录名

TABLE_SCHEM:表示数据表的模式名

TABLE_NAME:表示数据表名

COLUMN_NAME:表示数据列名

DATA_TYPE:表示java.sql.Types中的SQL类型,是一个short型数值。

TYPE_NAME:表示数据源使用的本地类型名

COLUMN_SIZE:表示数据列大小的一个int型数据。对于char或者date类型来说,表示字符串的最大长度;对于numeric或者decimal类型来说,表示精度。

BUFFER_LENGTH:表示当前不使用

DECIMAL_DIGITS:表示小数数字的个数,是一个int型数据。

NUM_PREC_RADIX:表示列的数据的基数,通常为二进制或十进制。

NULLABLE:表示数据列可否为null,是一个int型整数值。可能值如下:columnNoNulls可能不允许使用null

columnNullable一定不允许使用null

columnNullableUnknow不知道是否允许使用null

REMARKS:包含数据列的一个解释性注释,可以为null

COLUMN_DEF:列的默认值,可以为null。

SQL_DATA_TYPE:整型数值,当前不使用。

SQL_DATATIME_SUB:整型数值,当前不使用。

CHAR_OCTET_LENGTH:表示数据列的最大字节个数,仅针对CHAR类型。

ORDINAL_POSITION:表示数据表中的数据列的序号,从1开始。

IS_NULLABLE:字符串对象,若为“YES”,说明这个列允许使用null值;若为“NO”,则说明数据列不允许使用null值;若为空字符串“”,则表示可否使用null值未知。ResultSet getColumnPrivileges(String catalog,String schema,String table,String columnNamePattern) throws SQLException

用于获取数据列的访问权限的信息。

参数列表Catalog:表示一个目录名

schema:表示模式名类型

table:表示一个表名

columnNamePattern:表示一个共匹配的列名模式

如果列名表符合目录名,并且列名表的模式符合模式参数,列的表名符合table参数,列名与columnNamePattern参数匹配,那么函数将返回这些列的访问权限,返回的信息是按照列名和列的权限排序的;函数返回的权限除了可以看作是某个列的权限之外,还可以看作是一个表的权限。

函数的返回值是一个ResultSet对象,每一行都是对一个列的访问权限的描述。

对列的访问权限的描述包括以下属性:TABLE_CAT:表示数据表的目录名

TABLE_SCHEM:表示数据表的模式名

TABLE_NAME:表示数据表名

COLUMN_NAME:表示数据列名

COLUMN_NAME:表示数据列名

GRANTOR:表示权限的授权人,可以为null

GRANTEE:表示被授权者,可以为null

PRIVILEGE:表示可以访问的权限,如select,insert,update,reference等。

IS_GRANTABLE:表示指名被授权者是否有权限将权限转让给他人。若为“YES”,则可以再次转让权限,若为“NO”,则不可转让。若为null,则未知。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值