前言
在 MySQL 的实战中,数据库(库)的操作是基础且核心的环节。无论是项目开发还是运维维护,库的创建、配置、修改、备份等一系列操作都绕不开。很多开发者容易在字符集、校验规则、备份恢复这些细节上踩坑,本文结合实战案例,把 MySQL 库的全套操作讲透。
一、创建数据库:基础语法与个性化配置
创建数据库看似简单,但字符集和校验规则的配置直接影响后续开发。官方语法如下,其中大写部分为关键字,中括号内为可选项:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...];
create_specification用于配置核心属性,主要包含两项:
[DEFAULT] CHARACTER SET charset_name; -- 指定数据库字符集
[DEFAULT] COLLATE collation_name; -- 指定字符集的校验规则
这里有两个关键细节建议注意:
- IF NOT EXISTS:可选但建议必加,避免创建已存在的数据库时抛出错误,让 SQL 更健壮。
- DEFAULT 关键字:可省略,不影响功能,写出来会让语法更清晰,明确是设置默认属性。
实际开发中通常分三种场景:
- 使用系统默认配置:不指定字符集和校验规则,MySQL 会使用默认的
utf8和utf8_general_ci。CREATE DATABASE db1; - 指定字符集:通过
charset关键字指定,校验规则沿用该字符集默认值。CREATE DATABASE db2 CHARSET=utf8; - 同时指定字符集和校验规则:针对有特殊需求的场景(比如区分大小写查询)。
CREATE DATABASE db3 CHARSET=utf8 COLLATE utf8_general_ci;
二、字符集与校验规则:核心配置
字符集决定了能存储哪些语言的字符,校验规则则决定数据的查询和排序规则。乱码或查询结果不符合预期,根源往往在这两个配置。
1. 查看默认配置
开发前建议先查询当前 MySQL 的默认配置:
SHOW VARIABLES LIKE 'character_set_database';
SHOW VARIABLES LIKE 'collation_database';


