MySQL如何查看数据库编码格式

简单来说,查看MySQL代码最常用的方法有两种。

查看命令行: 1 .打开cmd。
2 、输入mysql -u 用户名 -p 密码 3 .登录后输入数据库名称show create Database; 4 . 找到 DEFAULT CHARACTER SET 行,这是 Navicat 正在查找的编码
: 1 .打开Navikat 2 .连接服务器 3 . 右键单击数据库名称并选择属性。
4 . 在常规部分找到字符集。

字符集很重要! 不一致会导致乱码。
例如,将 latin1 和 utf8 mb4 组合起来就会出现问题。
上周我正在做一个项目,并因此遭受了损失。

命令行适合服务器环境,而Navicat适合本地开发。
哪个对您来说更方便?

MySQL字符集和排序规则详解

那天在咖啡厅,邻桌的两个程序员就数据库编码问题发生了争执。
一个坚持使用utf8 ,一个坚持使用utf8 mb4 我当时就很困惑,不明白到底是怎么回事。
后来我仔细查了一下,才发现这真的很重要。

字符集就像衣服尺寸。
如果选择错误,存储的数据可能会混乱。
例如,中文“Hello”存储为utf8 时为3 个字节,存储为utf8 mb4 时为5 个字节。
虽然没有多大区别,但是在关键时刻可以救你一命。
我在 2 02 1 年参与了一个使用 utf8 的项目,但是当我尝试保存 emoji 表情时,它崩溃了。
改成utf8 mb4 那天,服务器CPU利用率飙升到8 0%,足足用了3 个小时才完成。

设置级别是最麻烦的事情。
我在杭州的机房,给客户修数据库的时候,发现他居然是在列级别设置字符集的。
我直接说这个不行,他说他试过了,效果最好。
后来查资料发现这家伙在InnoDB引擎上做了一些特别的事情。
说实话,这种情况下,还是建议在实例级别进行统一设置,以节省问题。

规定就像字典版本。
utf8 _general_ci 是正常的、不区分大小写和重音的版本; utf8 _bin是强版本,每个字符都匹配准确。
我有一个朋友在西班牙经营电子商务业务并使用 utf8 _turkish_ci。
因此,德语“ß”和“ss”被视为不同的字符。
切换到utf8 _general_ci后,系统突然可以识别国际命令了。

客户互动是最神奇的事情。
当我调试时,我发现character_set_client和character_set_result可以创建各种奇怪的东西。
例如使用SET NAMES 'utf8 mb4 '后,查询结果仍然是乱码。
检查后发现character_set_result没有改变。
我当时真是急得满头大汗,最后发现需要加上COLLATE 'utf8 mb4 _general_ci'。
2 02 2 年我又遇到了类似的情况,我花了半天时间才找到那次的本质。

utf8 mb4 现在确实是标准。
在北京服务器的MySQL配置中,我已经编写了default-character-set='utf8 mb4 '。
我曾经帮深圳的一个客户调过软件,还是用的utf8 我直接说已经是2 02 3 年了,他却很惊讶的说他们的系统是老版本了。
我懒得争论,直接改配置了。
当我重新启动服务时,CPU 负载实际上从 5 0% 下降到了 3 0%。
这突然让我想到,有时候技术更新的时候,确实需要从下往上改变。

等一下,最近看到一篇文档说MySQL 8 .0及以后版本将支持unicode8 字符集,可以存储更多的古文字。
培训中从未提及此功能。
等等,还有一件事,可以使用正则表达式检查排序规则吗?我在手册上看到它有效,但我还没有尝试过。
你应该有机会尝试一下这个。

MySQL 数据库4种字符集查看方法

说起来,那天我在查一个数据表,想看看字符集,所以就敲了一条命令。
对于 MySQL,它是“show create table mytable;”。
幸运的是,这次我居然找到了建表的SQL语句。
我当时很困惑。
我没有意识到这个命令可以这样使用。

然后我也想看看数据库的连接状态,所以我用了“show Processlist;”进入。
再次。
这个命令非常方便。
我还可以在末尾添加“\G”,使输出非常清晰,一目了然。

后来我想知道数据库支持哪些字符集,所以添加了“SHOW CHARACTER SET;”用过的。
这次他们都出来了。

嘿,顺便说一句,我还想看看特定字符集的排序规则,例如例如。
latin1 ,所以我使用“SHOW COLLATION LIKE 'latin1 %';”这次找到了所有以latin1 开头的排序规则。

嘿嘿,说起这些命令,是我因为工作需要,在2 02 2 年某城市的培训班上学的。
我花了很多钱买它们。
那时的他们真的很懂事。
现在想来,也许我有点极端了。