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

    MySQL数据库修改字符集,介绍一下修改的方法

    1)系统工具iconv

    #file filename
    #mysqldump --default-character-set=utf8 >20180523xxx.sql
    #file 20180523xxx.sql
    #iconv -t utf8mb4 -c  20180523xxx.sql>20180523xxxutf8mb4.sql
    #file 20180523xxxutf8mb4.sql
    
    测试 mysqldump 支持where条件 先用小的文件先测试一下
    #mysqldump  --where=”1=1 limit 10000”
    #转码之前要看是什么编码,只有中文才需要转码
    

    2)导出导入sed

    二)导出导入---sed
    1.导出表结构修改字符集设置
    #mysqldump --default-character-set=utf8 -d databasename > #createtab20180523.sql
    #sed -i s/CHARSET=utf8/CHARSET=utf8mb4/g  createtab20180523.sql 
    2.导出表的数据修改字符集
    #mysqldump --no-create-info databasename > data20180523.sql
    #sed -i s/CHARSET=utf8/CHARSET=utf8mb4/g  data20180523.sql 
    3.create database newdatabase default charset utf8mb4
    #mysql  newdatabase < createtab20180523.sql
    #mysql newdatabase  < data20180523.sql
    

    3)alter table的方式

    CREATE TABLE t1 (
      col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
      col2 CHAR(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
    ) CHARACTER SET utf8;
    
    #要修改字符集需要注意字段长度,及索引长度,alter table会锁表
    ALTER TABLE t1
      DEFAULT CHARACTER SET utf8mb4,
      MODIFY col1 CHAR(10)
        CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
      MODIFY col2 CHAR(10)
        CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
    

      

  • 相关阅读:
    游标cursor
    SQL: EXISTS
    LeetCode Reverse Integer
    LeetCode Same Tree
    LeetCode Maximum Depth of Binary Tree
    LeetCode 3Sum Closest
    LeetCode Linked List Cycle
    LeetCode Best Time to Buy and Sell Stock II
    LeetCode Balanced Binary Tree
    LeetCode Validate Binary Search Tree
  • 原文地址:https://www.cnblogs.com/weiwenbo/p/9099713.html
Copyright © 2011-2022 走看看