Mysql 查询以发现当前的默认数据库排序规则(通过命令行客户端)

Posted

技术标签:

【中文标题】Mysql 查询以发现当前的默认数据库排序规则(通过命令行客户端)【英文标题】:Mysql query to discover current default database collation (via command line client) 【发布时间】:2012-08-19 21:09:57 【问题描述】:

我不知道要运行哪个查询才能查看 mysql 数据库的当前排序规则集。

我知道我可以通过这样的查询来更改它:

ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]

但我不想在不知道当前值的情况下这样做。

我认为这实际上是可能的,因为在 phpmyadmin 中,您可以在数据库的操作选项卡中看到当前值,但我需要通过命令行客户端执行此操作,并且在谷歌搜索后没有找到答案。

可能我会打开 phpmyadmin 代码来发现它。在做之前,有人知道哪个是正确的查询吗?

提前致谢。

【问题讨论】:

【参考方案1】:

我自己想出来的,看着 phpmyadmin 代码。

根据 mysql 版本,要运行的查询是这样的:

SELECT DEFAULT_COLLATION_NAME FROM data_dictionary.SCHEMAS WHERE SCHEMA_NAME = 'nameOfMyDb' LIMIT 1;

SELECT DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = 'nameOfMyDb' LIMIT 1;

【讨论】:

【参考方案2】:
show variables like "%collat%"

【讨论】:

谢谢,这很有趣,但我认为这些是 mysql 配置的默认值,在您创建新数据库时用作默认值(我猜)。特定数据库是什么?

以上是关于Mysql 查询以发现当前的默认数据库排序规则(通过命令行客户端)的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server转换数据库的排序规则

如何为mysql xampp,windows设置默认排序规则

mysql查询时不区分大小写

mysql汉字排序规则

如何找出我的 MySQL 中的默认字符集/排序规则 [重复]

MySQL - GROUP BY 默认查询第几条数据?