MySQL 基础操作与编码设置:从入门到避坑
MySQL 基础操作与编码设置:从入门到避坑
掌握 MySQL 的基础操作是使用数据库的第一步,而字符集设置不当导致的乱码问题则是新手常踩的 “坑”。本文从实际操作出发,带你快速上手数据库基本操作,并解决中文存储的常见问题。
一、MySQL 基础操作:从数据库到表的核心命令
1. 查看所有数据库
登录 MySQL 后,首先可以查看当前服务器中的所有数据库:
1 | SHOW DATABASES; |
系统默认包含 4 个核心数据库:
information_schema:存储数据库元信息(如库名、表名、字段类型等);
performance_schema:用于监控数据库性能;
sys:简化性能监控的视图集合;
mysql:存储用户权限、系统配置等核心信息。
2. 创建自己的数据库
使用create database命令创建自定义数据库,名称需唯一:
1 | -- 创建名为cyforkkdb的数据库 |
3. 切换到目标数据库
对数据库操作前需先指定目标库,使用use命令:
1 | -- 切换到cyforkkdb数据库 |
提示:若未执行use命令直接操作表,会报错No database selected。
4. 查看数据库中的表
切换到目标库后,查看所有表:
1 | -- 查看当前数据库的表 |
5. 创建数据表
使用create table定义表结构,需指定字段名和数据类型:
1 | -- 创建student表(包含id和name字段) |
6. 查看表数据
新表默认无数据,可通过select命令查看:
1 | -- 查看student表的所有数据 |
7. 插入数据
使用insert into添加记录:
1 | -- 向student表插入两条记录 |
注意:若插入中文时出现Incorrect string value错误,大概率是字符集不支持中文,需按后文方法配置。
8. 查看表 / 库的创建信息
通过show create命令可查看表或数据库的详细配置(包括字符集):
1 | -- 查看student表的创建信息(\G用于格式化输出) |
9. 删除表和数据库
删除操作需谨慎,执行后数据无法恢复:
1 | -- 删除student表 |
二、字符集设置:解决中文乱码问题
1. 问题表现
插入中文时提示ERROR 1366 (HY000): Incorrect string value,或查询时显示乱码,本质是字符集不支持中文(默认latin1)。
2. 查看当前字符集
通过以下命令检查字符集配置:
1 | -- 查看字符集相关变量 |
3. MySQL 5.7 配置方法
步骤 1:修改配置文件my.ini
找到安装目录下的my.ini(默认路径:C:\ProgramData\MySQL\MySQL Server 5.7),添加以下配置:
1 | [mysql] |
步骤 2:重启服务
1 | -- 停止服务(mysql57是服务名) |
步骤 3:验证配置
重新登录后执行show variables like ‘character_%’;,确认character_set_server等参数为utf8。
4. MySQL 8.0 的优势
MySQL 8.0 默认字符集为utf8mb4(支持所有中文、emoji 和生僻字),无需手动配置即可正常存储中文,从根源解决乱码问题。
5. 已有库 / 表的字符集修改
若修改配置前已创建库或表,需手动调整:
1 | -- 修改数据库字符集 |
总结
MySQL 基础操作围绕 “库 - 表 - 数据” 三层结构展开,核心命令包括create、use、insert、select等。中文乱码问题的关键是字符集配置,MySQL 5.7 需手动修改my.ini为utf8,而 8.0 默认utf8mb4更省心。掌握这些内容,即可完成日常数据存储与查询需求。