zoukankan      html  css  js  c++  java
  • mysql 修改字符集

    一、修改my.ini配置文件(mysql配置文件)

    character_set_server = utf8 #设置字符集


    重启mysql数据库服务

    查看当前数据库字符集

    show VARIABLES like 'character%';



    二、修改数据库字符集

    alter database 数据库名 character set utf8;

    ps:修改完数据库字符集,需要重启mysql数据库。


    三、修改表字符集

    ALTER TABLE  表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    生成所有表修改字符集语句:

    SELECT TABLE_NAME,CONCAT('ALTER TABLE  ',TABLE_NAME,' DEFAULT CHARACTER SET ',a.DEFAULT_CHARACTER_SET_NAME,' COLLATE ',a.DEFAULT_COLLATION_NAME,';') executeSQL FROM information_schema.SCHEMATA a,information_schema.TABLES b
    WHERE a.SCHEMA_NAME=b.TABLE_SCHEMA
    AND a.DEFAULT_COLLATION_NAME!=b.TABLE_COLLATION
    AND b.TABLE_SCHEMA='数据库名' 



    四、修改列字符集

    ALTER TABLE  表名 CHANGE  列名  列名  VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;



    生成所有列修改字符集语句:

    select b.table_name,b.column_name,b.character_set_name,b.collation_name
    ,CONCAT('ALTER TABLE ',b.table_name,' MODIFY ',b.column_name,' ',b.DATA_TYPE,'(',b.CHARACTER_MAXIMUM_LENGTH,') ',CASE WHEN b.COLUMN_DEFAULT IS NULL THEN ''  ELSE CONCAT('DEFAULT '',b.COLUMN_DEFAULT,''') END,' COMMENT '',b.COLUMN_COMMENT,'';') executeSQL
     from information_schema.TABLES a,information_schema.COLUMNS b where  b.character_set_name IS NOT NULL and a.TABLE_SCHEMA=b.TABLE_SCHEMA AND a.TABLE_NAME=b.TABLE_NAME
    AND a.TABLE_COLLATION!=b.COLLATION_NAME
    and a.TABLE_SCHEMA='数据库名'
  • 相关阅读:
    DELETE和DELETE FROM有什么区别
    [转]DBA,SYSDBA,SYSOPER三者的区别
    DML语言练习,数据增删改查,复制清空表
    Oracle数据库sys为什么只能以sysdba登录
    Oracle添加数据文件创建表空间,创建用户代码
    ORACLE建表练习
    全局唯一标识符(GUID)
    [转]Java总结篇系列:Java泛型
    Strategy模式
    Android 第三方应用广告拦截实现
  • 原文地址:https://www.cnblogs.com/sxwen/p/7851031.html
Copyright © 2011-2022 走看看