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 查询以发现当前的默认数据库排序规则(通过命令行客户端)的主要内容,如果未能解决你的问题,请参考以下文章
如何为mysql xampp,windows设置默认排序规则