zoukankan      html  css  js  c++  java
  • MySQL修改表、字段、库的字符集及字符集说明

    修改数据库字符集:

    ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];
    把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:
    ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]
    如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

    只是修改表的默认字符集:

    ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];
    如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    修改字段的字符集:

    ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];
    如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

    查看数据库编码:

    SHOW CREATE DATABASE db_name;

    查看表编码:

    SHOW CREATE TABLE tbl_name;

    查看字段编码:

    SHOW FULL COLUMNS FROM tbl_name;

    查看系统的编码字符

    SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

    MySQL字符集设置

    系统变量:

    – character_set_server:默认的内部操作字符集
    
    – character_set_client:客户端来源数据使用的字符集
    
    – character_set_connection:连接层字符集
    
    – character_set_results:查询结果字符集
    
    – character_set_database:当前选中数据库的默认字符集
    
    – character_set_system:系统元数据(字段名等)字符集
    
    – 还有以collation_开头的同上面对应的变量,用来描述字符序。

    用introducer指定文本字符串的字符集:

    – 格式为:[_charset] ‘string’ [COLLATE collation]

    – 例如:

    • SELECT _latin1 ‘string’;
    
    • SELECT _utf8 ‘你好’ COLLATE utf8_general_ci;
    
    – 由introducer修饰的文本字符串在请求过程中不经过多余的转码,直接转换为内部字符集处理。

    MySQL中的字符集转换过程

    1. MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;
    2. 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:

    • 使用每个数据字段的CHARACTER SET设定值;

    • 若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);

    • 若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;

    • 若上述值不存在,则使用character_set_server设定值。

  • 相关阅读:
    XI.spring的点点滴滴--IObjectFactoryPostProcessor(工厂后处理器)
    Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)
    Ⅸ.spring的点点滴滴--IObjectFactory与IFactoryObject的杂谈
    Ⅷ.spring的点点滴滴--抽象对象和子对象
    Ⅶ.spring的点点滴滴--自定义对象行为
    Ⅵ.spring的点点滴滴--自定义类型转换器
    Ⅴ.spring的点点滴滴--引用其他对象或类型的成员
    Ⅳspring的点点滴滴--方法和事件
    Ⅲ.spring的点点滴滴--赋值
    Ⅱ.spring的点点滴滴--对象
  • 原文地址:https://www.cnblogs.com/qiumingcheng/p/10336170.html
Copyright © 2011-2022 走看看