北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

5、使用语句修改数据库(修改数据库使用的语句是)

5.1 数据库修改的两种途径

  • 图形界面工具(诸如 Navicat) :借由右键菜单进入数据库的属性设置,径直对字符集与校对规则予以修改。
  • 命令行方式(ALTER DATABASE) :运用 SQL 语句来变更数据库属性,此方式适用于批量操作抑或自动化脚本。

5.2 ALTER DATABASE 语法阐释

基本语法:

ALTER DATABASE 数据库名
[DEFAULT] CHARACTER SET 字符集名
[DEFAULT] COLLATE 校对规则名;
  • CHARACTER SET: 用以设定数据库的默认字符集(例如 utf8、gb2312 等)。
  • COLLATE: 用于设置字符的比较规则(例如 utf8_general_ci 不区分大小写)。
  • 注意: 字符集与校对规则需相互适配(诸如 gb2312 对应 gb2312_chinese_ci)。 系统数据库(例如 mysql、information_schema 等)无法进行修改。

5.3 例题详解

5.3.1 例题 1

将 stuinfo 的字符集更改为 latin1,校对规则变更为 latin1_swedish_ci

  • 步骤: 开启 MySQL 命令行工具。 输入如下 SQL 语句并予以执行:
ALTER DATABASE stuinfo 
DEFAULT CHARACTER SET latin1 
COLLATE latin1_swedish_ci;
  • 说明: latin1 为西欧语言编码,latin1_swedish_ci 是瑞典语的校对规则(不区分大小写)。 常见错误:拼写有误(如 latinl 应是 latin1),务必严格审查语法。

5.3.2 例题 2

将 stuinfo 的字符集变更为 gb2312,校对规则更改为 gb2312_chinese_ci

  • 步骤: 开启 MySQL 命令行工具。 输入如下 SQL 语句并执行:
ALTER DATABASE stuinfo 
DEFAULT CHARACTER SET gb2312 
COLLATE gb2312_chinese_ci;
  • 说明: gb2312 乃简体中文编码,gb2312_chinese_ci 为中文校对规则(不区分大小写)。 应用场景:适用于存储中文数据,且无需支持表情符号的旧有项目。

5.4 注意事项

问题

解决方案

字符集与校对规则不匹配

务必确保字符集与校对规则归属于同一编码体系(诸如utf8 + utf8_*)

系统数据库修改失败

严禁对 mysql、information_schema 等系统数据库进行修改

拼写错误致使报错

仔细检查语法拼写(例如 COLLATE 后需衔接完整的校对规则名称)

中文乱码问题

优先采用 utf8mb4 字符集(支持表情和多语言)


5.5 扩展知识:字符集与校对规则的差异

概念

说明

字符集

界定字符的存储编码方式(例如 A 的二进制表述)

校对规则

明确字符的比较逻辑(比如 A 和 a 是否等同)

举例

utf8_general_ci:不区分大小写;utf8_bin:区分大小写

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言