Skip to content

获取表结构

函数名: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 模式。

错误处理

错误场景返回值
表不存在返回空结果(无数据行)
连接字符串无效/连接失败错误: <异常信息>
异步包装层异常异常:<异常信息>

基于源代码最新版本文档