⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

MySQL 字符集与排序规则

理解字符集和排序规则的概念及其对数据存储和查询的影响。 · 难度:入门 · +15XP

MySQL 字符集与排序规则

字符集(Charset)定义字符如何编码为二进制,排序规则(Collation)定义字符的比较规则。选择不当会导致乱码、索引失效或排序错误。

常用字符集

字符集说明
utf8mb4真正的UTF-8编码,支持4字节emoji,推荐使用
utf8别名utf8mb3,只支持3字节,不推荐
latin1西欧语言,单字节编码
gbk中文双字节编码

排序规则

utf8mb4的常用排序规则:

设置字符集

-- 数据库级别
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 表级别 CREATE TABLE users ( name VARCHAR(50) ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 列级别 ALTER TABLE users MODIFY name VARCHAR(50) CHARACTER SET utf8mb4;

乱码处理

如果出现乱码,检查客户端连接字符集:

SET NAMES utf8mb4;

练习提示

创建不同字符集的表,插入包含特殊字符(如emoji)的数据,观察存储和查询结果。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 68 篇
0 完成
🔥 0