MySql数据库修改字符集

问题:
学习mysql数据库过程中,参照mysql参考手册练习创建数据库、建表、插入数据时,遇中文报错的问题。
过程如下:
在mysql中创建数据库testdemo,采用默认字符集。
然后执行建表语句和插入数据操作
在这里插入图片描述

通过show create table person查看建表语句,默认字符集为拉丁字符集,为字符集问题。
在这里插入图片描述
解决:经百度,参考他人经验,验证可行。
1 重建数据库,在建库时指定字符集
CREATE DATABASE testdemo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
重新建表,默认采用数据库指定字符集

2 修改数据库字符集和表字符集
执行修改数据库字符集语句和修改表语句
ALTER DATABASE testdemo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE person CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
在这里插入图片描述
在这里插入图片描述

试验环境使用mysql版本为5.7.28,若MySQL版本为 5.5.2 或更早版本,不支持 4-byte UTF-8,采用utf8代替,脚本如下:
ALTER DATABASE testdemo CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE person CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
里面数据库名称testdemo和表名person自行替换。

参考:
https://stackoverflow.com/questions/6115612/how-to-convert-an-entire-mysql-database-characterset-and-collation-to-utf-8


版权声明:本文为weixin_46531395原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。