获取表结构
函数名:mysql_TableStruct / mysql_TableStruct
功能描述
查询 MySQL 数据库指定数据表的完整结构信息,返回字段名、数据类型、长度、小数点、是否非空、是否虚拟列、键类型、注释等结构化结果。
会员等级:🟢 免费版(Free)
语法
excel
=mysql_TableStruct(表名, [连接字符串])参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 表名 | String | 是 | - | 要查询结构的数据表名 |
| 连接字符串 | String | 否 | "" | MySQL 连接字符串;为空时使用已保存的默认连接 |
返回值
Object[,] - 二维数组。首行为字段标题行(固定显示),后续行为各字段的结构信息。查询过程中单元格暂显 "Waiting..."。
使用示例
基础表结构查询
公式:
excel
=mysql_TableStruct("user")结果:
名 类型 长度 小数点 不是null 虚拟 键 注释
id int NULL 0 是 否 PRI 用户ID
name varchar 50 NULL 否 否 用户名
age int NULL 0 否 否 年龄自定义连接查询表结构
公式:
excel
=mysql_TableStruct("product","Server=127.0.0.1;Database=shop;Uid=root;Pwd=root;SslMode=None;")结果:
名 类型 长度 小数点 不是null 虚拟 键 注释
pro_id int NULL 0 是 否 PRI 商品ID
pro_name varchar 100 NULL 否 否 商品名称
price decimal 10 2 否 否 商品价格技术说明
- 查询
INFORMATION_SCHEMA.COLUMNS系统视图,条件为TABLE_SCHEMA = DATABASE() AND TABLE_NAME = @TableName,按ORDINAL_POSITION排序。 - 采用参数化查询(
@TableName)防止 SQL 注入。 - 返回列固定为:名、类型、长度、小数点、不是null、虚拟、键、注释,且始终显示标题行(showHeaders=true)。
- 通过
ExcelAsyncUtil.Run异步执行,处理期间返回 "Waiting..."。 连接字符串为空时回退到全局默认连接connStr;经build_connectstring处理默认超时与 SSL 模式。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 表不存在 | 返回空结果(无数据行) |
| 连接字符串无效/连接失败 | 错误: <异常信息> |
| 异步包装层异常 | 异常:<异常信息> |