YStudio Y++

MySQL类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → MySQL类。

类型名必须写完整「MySQL类」。声明时自动创建,一般无需再调 创建*。

硬约束

  1. 类型名必须写「MySQL类」。远程库;通常动态加载 libmysql.dll。
  2. 连接失败检查主机/账号/库名与 DLL 是否可用。

快速开始

MySQL类 db
// 连接 / 查询:见下方命令介绍

MySQL类/创建

共 1 条。

创建MySQL

  • 签名:通用 创建MySQL()
  • 说明:远程 MySQL 数据库客户端。可连本机或远程服务器(主机=IP/域名)。日常用建表/插入/查询,无需手写 SQL。通常直接写「MySQL类 db」。默认旁路 libmysql8.dll(可 MySQL版本 切 5)。附带的是客户端 DLL,不是服务器;远程连接须服务器允许外连与账号权限。

MySQL类/常量

共 1 条。

值│%1

  • 签名:通用 整数
  • 说明:在代码中直接书写 %1

MySQL类/方法

共 41 条。

置客户端库

  • 签名:逻辑 置客户端库([文本 路径或目录=""])
  • 说明:指定客户端 DLL 完整路径或其目录;空则按 MySQL版本 自动选程序目录下的 libmysql5.dll / libmysql8.dll。若路径文件名与 MySQL版本 明显冲突(如版本=2 却指定 libmysql5.dll),本方法返回假,取错误() 给出原因。请在打开连接前调用。
  • 参数一│[文本 路径或目录=”“]: DLL 路径或所在目录

取客户端库

  • 签名:文本 取客户端库()
  • 说明:返回当前已加载或已设置的客户端 DLL 路径。

MySQL版本

  • 签名:逻辑 MySQL版本([整数 版本=2])
  • 说明:选择客户端协议族:1=MySQL5(libmysql5.dll),2=MySQL8(libmysql8.dll,默认)。未调用时默认 2。若已置客户端库且文件名与目标版本冲突,返回假并通过取错误() 说明。请在打开连接前调用;版本变化会重新加载 DLL。
  • 参数一│[整数 版本=2]: 1=MySQL5,2=MySQL8

取MySQL版本

  • 签名:整数 取MySQL版本()
  • 说明:取当前客户端版本设定:1=MySQL5,2=MySQL8。

置连接超时

  • 签名:逻辑 置连接超时([整数 秒=10])
  • 说明:设置默认连接超时(秒)。0=不限制;打开() 第 7 参数可覆盖单次。
  • 参数一│[整数 秒=10]

取连接超时

  • 签名:整数 取连接超时()
  • 说明:取当前默认连接超时秒数。

打开

  • 签名:逻辑 打开(文本 主机, [整数 端口=3306], [文本 用户=""], [文本 密码=""], [文本 库名=""], [文本 字符集="utf8mb4"], [整数 超时秒=-1])
  • 说明:连接 MySQL 服务器(本机或远程均可)。默认端口 3306、字符集 utf8mb4。超时秒=-1 表示用置连接超时() 的默认值。失败返回假,用取错误() 查看原因。
  • 参数一│文本 主机: IP 或域名,如 “127.0.0.1”、”192.168.1.10”、”db.example.com”。空则按 127.0.0.1。远程须服务器允许外连、账号有远程权限、端口可达。
  • 参数二│[整数 端口=3306]: 服务端监听端口,常见 3306。
  • 参数三│[文本 用户=”“]: 登录用户名
  • 参数四│[文本 密码=”“]: 登录密码
  • 参数五│[文本 库名=”“]: 可空,事后用选择库()
  • 参数六│[文本 字符集=”utf8mb4”]
  • 参数七│[整数 超时秒=-1]: -1=用置连接超时();0=不限;>0 覆盖本次

关闭

  • 签名:逻辑 关闭()
  • 说明:关闭连接。

是否打开

  • 签名:逻辑 是否打开()
  • 说明:当前是否已连接。

选择库

  • 签名:逻辑 选择库(文本 库名)
  • 说明:切换当前数据库。
  • 参数一│文本 库名

检测连接

  • 签名:逻辑 检测连接()
  • 说明:Ping 服务器,检测连接是否仍有效。

取服务器版本

  • 签名:文本 取服务器版本()
  • 说明:取 MySQL 服务器版本字符串。

建表

  • 签名:逻辑 建表(文本 表名, 通用 字段)
  • 说明:按「字段信息」数组建表(推荐)。类型用 MySQL类/常量:#文本/#整数/#小数/#逻辑/#二进制/#主键/#日期时间/#日期/#时间/#长文本。兼容:第二参数也可传旧版列定义文本。
  • 参数一│文本 表名
  • 参数二│通用 字段: 字段信息数组,或旧版列定义文本

删表

  • 签名:逻辑 删表(文本 表名)
  • 说明:删除整张表。
  • 参数一│文本 表名

清空表

  • 签名:逻辑 清空表(文本 表名)
  • 说明:删除表中全部行(保留表结构)。
  • 参数一│文本 表名

表是否存在

  • 签名:逻辑 表是否存在(文本 表名)
  • 说明:判断表是否存在。
  • 参数一│文本 表名

字段是否存在

  • 签名:逻辑 字段是否存在(文本 表名, 文本 列名)
  • 说明:判断表中是否存在指定列。
  • 参数一│文本 表名
  • 参数二│文本 列名

插入

  • 签名:逻辑 插入(文本 表名, 文本 列名, 文本 值)
  • 说明:按 CSV 列名与值插入一行。
  • 参数一│文本 表名
  • 参数二│文本 列名: CSV,如 “姓名,年龄”
  • 参数三│文本 值: CSV,如 “张三,20”

忽略插入

  • 签名:逻辑 忽略插入(文本 表名, 文本 列名, 文本 值)
  • 说明:INSERT IGNORE:主键/唯一键冲突时跳过,不报错。
  • 参数一│文本 表名
  • 参数二│文本 列名
  • 参数三│文本 值

替换插入

  • 签名:逻辑 替换插入(文本 表名, 文本 列名, 文本 值)
  • 说明:REPLACE INTO:冲突则先删后插。
  • 参数一│文本 表名
  • 参数二│文本 列名
  • 参数三│文本 值

批量添加

  • 签名:逻辑 批量添加(文本 表名, 文本 列名, 通用 值行)
  • 说明:多行 VALUES 真批量(分块事务)。值行为文本数组,每元素一行 CSV;可用 数组添加 动态收集(如网页采集)。
  • 参数一│文本 表名
  • 参数二│文本 列名: CSV
  • 参数三│通用 值行: 文本数组(推荐);也可单行文本

插入批量

  • 签名:逻辑 插入批量(文本 表名, 文本 列名, 通用 值行)
  • 说明:同「批量添加」(兼容旧名)。
  • 参数一│文本 表名
  • 参数二│文本 列名: CSV
  • 参数三│通用 值行: 文本数组;也可单行文本

更新

  • 签名:逻辑 更新(文本 表名, 通用 置值, [通用 条件=""])
  • 说明:按条件更新。置值如 “年龄=21” 或文本数组;条件同查询。
  • 参数一│文本 表名
  • 参数二│通用 置值: 文本或文本数组
  • 参数三│[通用 条件=”“]: 文本或文本数组

删除

  • 签名:逻辑 删除(文本 表名, 通用 条件)
  • 说明:按条件删除行。条件必填。
  • 参数一│文本 表名
  • 参数二│通用 条件

查询

  • 签名:逻辑 查询(文本 表名, [通用 条件=""], [文本 列名=""], [文本 排序=""], [整数 限制行数=0])
  • 说明:无 SQL 查询并打开游标。成功后循环取下一行()。
  • 参数一│文本 表名
  • 参数二│[通用 条件=”“]
  • 参数三│[文本 列名=”“]: CSV,空=*
  • 参数四│[文本 排序=”“]
  • 参数五│[整数 限制行数=0]

取下一行

  • 签名:逻辑 取下一行()
  • 说明:游标前进一行;有数据返回真,结束返回假。

取文本

  • 签名:文本 取文本(文本 列名或索引)
  • 说明:取当前行文本列。
  • 参数一│文本 列名或索引

取整数

  • 签名:整数 取整数(文本 列名或索引)
  • 说明:取当前行整数列。
  • 参数一│文本 列名或索引

取小数

  • 签名:小数 取小数(文本 列名或索引)
  • 说明:取当前行小数列。
  • 参数一│文本 列名或索引

取列数

  • 签名:整数 取列数()
  • 说明:当前结果集列数。

取列名

  • 签名:文本 取列名(整数 索引)
  • 说明:按索引取列名(从 0 起)。
  • 参数一│整数 索引

取行数

  • 签名:整数 取行数(文本 表名, [通用 条件=""])
  • 说明:COUNT(*);可选条件同查询。
  • 参数一│文本 表名
  • 参数二│[通用 条件=”“]

执行SQL

  • 签名:逻辑 执行SQL(文本 SQL)
  • 说明:【高级】执行非查询 SQL。
  • 参数一│文本 SQL

查询SQL

  • 签名:逻辑 查询SQL(文本 SQL)
  • 说明:【高级】执行查询 SQL 并打开游标。
  • 参数一│文本 SQL

开始事务

  • 签名:逻辑 开始事务()
  • 说明:开始事务。

提交

  • 签名:逻辑 提交()
  • 说明:提交事务。

回滚

  • 签名:逻辑 回滚()
  • 说明:回滚事务。

取最后插入ID

  • 签名:整数 取最后插入ID()
  • 说明:最近一次插入的自增 ID。

取影响行数

  • 签名:整数 取影响行数()
  • 说明:最近一次写操作影响的行数。

取错误

  • 签名:文本 取错误()
  • 说明:取最近一次失败原因。

转义文本

  • 签名:文本 转义文本(文本 内容)
  • 说明:按当前连接做 SQL 字符串转义(不含外层引号)。须已打开连接。
  • 参数一│文本 内容

易错对照

错误 正确
类型写成 MySQL 必须「MySQL类」
缺 libmysql.dll 按面板/部署说明放置 DLL

相关

SQLite类 · HTTP类