Skip to content

Query运行Sql

函数名:mysql_Query / mysql_Query

功能描述

执行 MySQL 数据库 SELECT 查询语句并返回查询结果,支持自定义标题行显示与数据库连接配置,可直接在表格中获取 MySQL 数据。

会员等级:🟢 免费版(Free)

语法

excel
=mysql_Query(SQL查询, [显示标题], [连接字符串])

参数

参数名类型必填默认值说明
SQL查询String-要执行的 SELECT 查询语句
显示标题Booleantrue是否显示字段名称作为标题行
连接字符串String""MySQL 数据库连接字符串;为空时使用已保存的默认连接(由 mysql_Connect_pro / mysql_Connect 设置)

返回值

Object[,] - 二维数组。包含字段标题行(显示标题 为 true 时)与数据行;查询无结果时返回空数组。查询过程中单元格暂显 "Waiting..."。

使用示例

基础数据查询

公式

excel
=mysql_Query("SELECT id,name,age FROM user")

结果

id    name    age
1     张三    25
2     李四    30

隐藏标题查询

公式

excel
=mysql_Query("SELECT * FROM product",FALSE)

结果

1001    笔记本   5999
1002    手机     2999

自定义数据库连接

公式

excel
=mysql_Query("SELECT * FROM orders",TRUE,"Server=127.0.0.1;Database=shop;Uid=root;Pwd=root;SslMode=None;")

结果

order_id    user_id    price
1           1          199
2           2          299

查询错误

公式

excel
=mysql_Query("SELECT * FROM not_exist_table")

结果

错误: Table 'shop.not_exist_table' doesn't exist

技术说明

  • 通过 ExcelAsyncUtil.Run 异步执行,处理期间返回 "Waiting..."。
  • 连接字符串 为空时自动回退到全局默认连接 connStr(由 mysql_Connect_promysql_Connect 写入)。
  • 内部经 build_connectstring 处理:未设置连接超时时默认 3 秒,未设置 SSL 模式时默认 None,并关闭连接池(Pooling=false)。
  • 结果中 DBNull 值自动转换为 null;无数据时返回 object[0,0] 空数组。
  • 建议仅用于 SELECT 查询;执行增删改请使用对应的 insert/update/delete 函数。

错误处理

错误场景返回值
非 Pro 会员无权限权限错误提示信息
数据库连接失败错误: <连接异常信息>
SQL 语法错误错误: <语法异常信息>
异步包装层异常异常:<异常信息>
查询无结果空数组

基于源代码最新版本文档