美文网首页
MySQL修改字符集

MySQL修改字符集

作者: 冷小冰Q | 来源:发表于2023-02-16 13:53 被阅读0次

字符集级别

MySQL中默认字符集的设置有四级:

  • 服务器级
  • 数据库级
  • 表级
  • 字段级

前三种均为默认设置,并不代表字段最终会使用这个字符集设置。

查询当前字符集

  • 查看数据库编码:
SHOW CREATE DATABASE db_name;
  • 查看表编码:
SHOW CREATE TABLE table_name;
  • 查看字段编码:
SHOW FULL COLUMNS FROM table_name;
-- 或
SHOW FULL FIELDS FROM table_name; 

修改字符集

  • 修改数据库字符集:
ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
  • 修改表默认的字符集和所有字符列的字符集(CHAR,VARCHAR,TEXT)
ALTER TABLE table_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
-- 示例:
ALTER TABLE cmpt_test CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
  • 只是修改表的默认字符集:
ALTER TABLE table_name DEFAULT CHARACTER SET character_name [COLLATE...];
-- 示例:
ALTER TABLE cmpt_test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  • 修改字段的字符集:
ALTER TABLE table_name CHANGE f_name f_name CHARACTER SET character_name [COLLATE ...];
-- 示例:
ALTER TABLE cmpt_test CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

组装SQL

  • 根据字段拼接修改字符集语句
SELECT DISTINCT
    CONCAT( "ALTER TABLE ", table_schema, ".", table_name, " CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" ) AS updateSql 
FROM
    information_schema.COLUMNS 
WHERE
    table_schema = 'db_name'
    AND COLLATION_NAME <> 'utf8mb4_unicode_ci';
  • 根据表拼接修改字符集语句
SELECT
    CONCAT( "ALTER TABLE ", table_schema, ".", table_name, " CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" ) AS updateSql 
FROM
    information_schema.TABLES 
WHERE
    table_schema = 'db_name' 
    AND TABLE_COLLATION <> 'utf8mb4_unicode_ci';

相关文章

  • MySQL修改字符集

    安装时MySQL默认的字符集是latin1,插入表中的中文会显示异常,所以需要修改字符集。 1、修改Mysql字符...

  • 09-07:SQLServer与MySQL基础操作

    MySQL的安装要修改字符集,并且打开允许远程连接,如果忘记:忘记修改字符集,创建数据库时要选择字符集。忘记开远程...

  • mysql 字符集设置

    查看修改数据库字符集编码mysql> show variables like "char%"; mysql> s...

  • (Mac)项目中编码都是UTF-8,MySQL还是中文乱码解决办

    原因:修改mysql的默认编码不是UTF-8的 修改办法:修改mysql的默认字符集为utf8 方法: 1,检查默...

  • MySQL高级

    mysql安装配置 mysql配置,修改字符集编码是用于当我们创建数据库时,没有指定数据字符集编码类型时,就会用配...

  • mysql的简单配置

    一、开启远程连接 查看host、user 然后输入: 重启mysql 二、设置字符集 修改mysql配置文件(记住...

  • 字符集与校对规则

    MySQL字符集及校对规则的理解 阅读目录:MySQL的字符集和校对规则 MySQL的字符集 MySQL与字符集 ...

  • Mysql 修改默认字符集

    对于不同的mysql版本有不同的修改方式 查看默认字符集 8 rows in set (0.00 sec) 修改 ...

  • Hive表中文注释乱码问题

    解决desc命令注释中文乱码 修改hive存储在mysql里的元数据相关信息1).修改字段注释字符集 2).修改表...

  • mysql字符集修改

    update user set name='静宝7721',sex='women' where phone='1...

网友评论

      本文标题:MySQL修改字符集

      本文链接:https://www.haomeiwen.com/subject/jnepkdtx.html