系统信息函数 === 系统信息函数用于获取 MySQL 运行环境、连接信息、字符集、排序规则等元数据。在排查问题、调试 SQL、了解当前数据库环境时非常有用。 ### 获取MySQL版本号、连接数和数据库名的函数 常见函数包括: - `VERSION()`:获取 MySQL 版本号 - `DATABASE()`:获取当前数据库名 - `CONNECTION_ID()`:获取当前连接 ID 示例: ```sql SELECT VERSION(); SELECT DATABASE(); SELECT CONNECTION_ID(); ``` 这些函数常用于: - 确认当前数据库版本 - 确认当前会话使用的数据库 - 排查连接问题 ### 获取用户名的函数 常见用户相关函数包括: - `USER()`:返回当前连接使用的用户名和主机 - `CURRENT_USER()`:返回当前认证使用的账号 示例: ```sql SELECT USER(); SELECT CURRENT_USER(); ``` 很多时候这两个结果相同,但在授权和认证链路较复杂时,它们可能不同。 ### 获取字符串的字符集和排序方式的函数 如果想知道某个字符串使用什么字符集和排序规则,可以使用: - `CHARSET()`:返回字符集 - `COLLATION()`:返回排序规则 示例: ```sql SELECT CHARSET('mysql'); SELECT COLLATION('mysql'); SELECT CHARSET(name), COLLATION(name) FROM user LIMIT 1; ``` 这类函数常用于: - 排查中文乱码 - 分析排序不一致问题 - 确认字段和字符串常量的字符集环境 ### 小结 系统信息函数更偏向“查看环境”而不是“处理业务数据”。实际使用中最常见的是 `VERSION()`、`DATABASE()`、`USER()`、`CHARSET()` 和 `COLLATION()`。