首页 > 数据库 >mysql数据库改变编码

mysql数据库改变编码

时间:2023-03-03 16:56:13浏览次数:47  
标签:编码 ci NAME utf8mb4 COLUMN 数据库 mysql TABLE SCHEMA

SELECT TABLE_SCHEMA       '数据库',

       TABLE_NAME         '表',

       COLUMN_NAME        '字段',

       CHARACTER_SET_NAME '原字符集',

       COLLATION_NAME     '原排序规则',

       CONCAT(

               'ALTER TABLE ',

               TABLE_SCHEMA,

               '.',

               TABLE_NAME,

               ' MODIFY COLUMN ',

               COLUMN_NAME,

               ' ',

               COLUMN_TYPE,

           -- - 设置新的编码和排序规则

               ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',

               (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END),

               (CASE WHEN COLUMN_COMMENT = '' THEN ' ' ELSE concat(' COMMENT''', COLUMN_COMMENT, '''') END),

               ';'

           )              '修正SQL'

FROM information_schema.`COLUMNS`

WHERE

  -- -过滤正确排序规则

    COLLATION_NAME != 'utf8mb4_general_ci'

  AND TABLE_SCHEMA != 'information_schema'

  -- -数据库名称

  AND TABLE_SCHEMA = 'app_illegal_tx';

 

#修改表排序规则

SELECT TABLE_SCHEMA                                                            '数据库',

       TABLE_NAME                                                              '表',

       TABLE_COLLATION                                                         '原排序规则',

       CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,

              ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') '修正SQL'

FROM information_schema.`TABLES`

WHERE TABLE_COLLATION != 'utf8mb4_general_ci'

  and TABLE_SCHEMA = 'app_illegal_tx';

标签:编码,ci,NAME,utf8mb4,COLUMN,数据库,mysql,TABLE,SCHEMA
From: https://www.cnblogs.com/cuiyueyang/p/17176248.html

相关文章

  • MySQL随笔
    函数:一、时间类ps:可以使用now()获取当前系统时间①DATE_SUB:获取时间A前B天的时间用法:date_sub(A,INTERBALBunit)②DATE_FORMAT:时间格式化,将A转化成'%Y-%m-%d'的......
  • mysql中union的用法[转载]
     https://blog.csdn.net/qq_45148387/article/details/116357408?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-11......
  • linux ubuntu 连接mysql
    linux ubuntu server sudo apt update -ysudo apt list --upgradable sudo apt upgrade -ysudo apt install vim -y# 安装mysql 8.0.31最新版 和  v......
  • MySQL是如何解决幻读的
    前言SQL标准中定义了4种隔离级别,分别是读未提交、读已提交、可重复读以及序列化。不同的隔离级别下,可以解决不同的并发问题,如下图所示。当然MySQL也基本遵循了这个标准,但......
  • SpringMVC_编码过滤器
    通过过滤器统一请求与响应的编码格式:<!--字符编码过滤器--><filter><filter-name>encoding</filter-name><filter-class>org.springframewor......
  • Thunderbird 102修改文字编码
    日期:2023.3.3Thunderbird版本:102.8.0(本文可靠性待验证)最近有同事收我邮件附件显示乱码,基本上确定是文字编码问题,但是Windows新版Thunderbird好像没有修改的地方:进入设置,找到......
  • adb-通过adb获取app中存储的数据,并将获取到.db3格式的数据库导入到Navicat数据库工具,
    adb-通过adb获取app中存储的数据,并将获取到.db3格式的数据库导入到Navicat数据库工具,最后转化时间撮为日期并导出查询结果前言在工作需要将APP软件中记录的数据导出......
  • mysql: 看不见的空符号 char(9) char(10) char(13)
    trim,消除前后的空格,没有效时果updatetable_namesetcolumn_name=replace(replace(replace(column_name,char(9),''),char(10),''),char(13),'');说明:table_name:表......
  • mysql对一二三四五排序
    SELECTbuildingFloorsFROMConstructionCaseORDERBYFIELD(SUBSTRING(buildingFloors,1,1),'一','二','三','四','五','六','七','八','九'); ......
  • 数据库原理知识--B-树、B+树、B*树
    B-树是一种多路搜索树(并不是二叉的):1.定义任意非叶子结点最多只有M个儿子;且M>2;2.根结点的儿子数为[2,M];3.除根结点以外的非叶子结点的儿子数为[M/2,M];4.每个......