首页 > 数据库 >mysql字符集批量修改

mysql字符集批量修改

时间:2023-09-01 13:34:19浏览次数:47  
标签:information NAME 批量 utf8mb4 字符集 mysql TABLE SCHEMA schema

修改所有数据库字符集
SELECT CONCAT('ALTER DATABASE ',SCHEMA_NAME,' CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;') as 'Fanrncho'
FROM information_schema.`SCHEMATA` WHERE DEFAULT_CHARACTER_SET_NAME RLIKE 'utf8mb4' AND
SCHEMA_NAME NOT IN ('admindb', 'mysql', 'information_schema', 'performance_schema', 'sys');

----------------------------------------------------------------------------------------------------------------
修改表字符集
SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;') AS Fanrncho
FROM information_schema.`TABLES` WHERE TABLE_SCHEMA IN (SELECT SCHEMA_NAME FROM information_schema.`SCHEMATA`
WHERE DEFAULT_CHARACTER_SET_NAME RLIKE 'utf8mb4' AND SCHEMA_NAME NOT IN ('admindb', 'mysql', 'information_schema', 'performance_schema', 'sys'))
AND TABLE_TYPE="BASE TABLE";
---------------------------------------------------------------------------------------------------------------------
修改表排序规则
SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA,'.',TABLE_NAME, ' MODIFY COLUMN ',COLUMN_NAME,' ',COLUMN_TYPE,' CHARACTER SET ascii COLLATE ascii_bin', ' ',
IF(IS_NULLABLE = 'NO', 'NOT NULL', 'NULL'), IF(ISNULL(COLUMN_DEFAULT), '', CONCAT(' DEFAULT \'', COLUMN_DEFAULT, '\'')), IF(ISNULL(COLUMN_COMMENT), '',
CONCAT(' COMMENT \'', COLUMN_COMMENT, '\';'))) AS 'Fanrncho' FROM information_schema.`COLUMNS` WHERE
TABLE_SCHEMA IN (SELECT SCHEMA_NAME FROM information_schema.`SCHEMATA` WHERE DEFAULT_CHARACTER_SET_NAME RLIKE 'utf8mb4'
AND SCHEMA_NAME NOT IN ('admindb', 'mysql', 'information_schema', 'performance_schema', 'sys')) and COLLATION_NAME RLIKE 'ascii';

 

标签:information,NAME,批量,utf8mb4,字符集,mysql,TABLE,SCHEMA,schema
From: https://www.cnblogs.com/Net191111/p/17671591.html

相关文章

  • mysql数据库性能优化参考
    原文链接:https://blog.csdn.net/qq_34777982/article/details/125788079硬件和操作系统层面的优化硬件:cpu、内存、磁盘io、网络带宽操作系统:应用文件句柄(ulimit-aopenfiles)网络配置架构设计层面的优化集群方式(主从集群或者主主集群):避免单点故障读写分离:读写分开,将压力分担,避......
  • mysql备份恢复
    备份某个表:mysqldump-uusername-ppassworddatabase_nametable_name>backup_file.sql备份多个表:mysqldump–uusername-ppassworddatabase_nametable1table2>BackupName.sql备份整个库:mysqldump-uusername-ppassworddatabase_name>backup_file.sql备份多......
  • Mysql主从复制(一主一从)+Mycat(windows-1.X版本)实现读写分离
    项目中,如果数据量大的情况下,可以使用【数据库主从复制+读写分离】的方式优化,其他方式也很多,这里只记录下这种方式一、说明1.需要的环境等:序号环境说明1mysql5.7服务器两台数据库服务器,一台作为主数据库,一台作为从数据库2jdk安装mycat的时候会用到jdk3my......
  • 读写分离---mysql的主主结构和主从架构
    前言:为什么要对mysql做优化?  因为数据都来源于数据库,如果数据库慢了,无论是多线程、各种识别模式优化还是很慢,因为查sql就很慢。  官方说法:单表2000万数据,增删改查就到达瓶颈了。所以为了保证查询效率,得让每张表的大小得到控制。 Mysql架构:实际生产过程中,查询业务......
  • 字符集编码简介
    Unicode:unicode.org制定的编码机制,要将全世界常用文字都函括进去.在1.0中是16位编码,由U+0000到U+FFFF.每个2byte码对应一个字符;在2.0开始抛弃了16位限制,原来的16位作为基本位平面,另外增加了16个位平面,相当于20位编码,编码范围0到0x10FFFF.UCS:ISO制定的ISO10646标准......
  • mysql基础
    --创键数据库test(如果不存在)CREATEDATABASEIFNOTEXISTStest--删除数据库test(如果存在)DROPDATABASEIFEXISTStest--使用该数据库USEschool--表名或字段名是特殊字符用``包含(tab键上......
  • mysql 创建只读权限账号
    命令行登录mysql-uroot-p创建只读权限的账号【将<username>替换为用户名, <password>替换为密码。'%' 表示该账号可以从任何主机连接。如果希望限制连接的主机,可以将 '%' 替换为具体的主机名或IP地址。】CREATEUSER'<username>'@'%'IDENTIFIEDBY'<password>......
  • 详解 canal 同步 MySQL 增量数据到 ES
    canal是阿里知名的开源项目,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。这篇文章,我们手把手向同学们展示使用canal将MySQL增量数据同步到ES。1集群模式图中server对应一个canal运行实例,对应一个JVM。server中包含1..n个instance,我......
  • MySQL 使用Navicat delete/insert into/update 大量数据表锁死,kill的线程后线程处于ki
      MySQL使用delete/insertinto/update大量数据表锁死,kill的线程后线程处于killed状态问题解决实际生产环境问题描述:使用Navicat备份BigData数据表时不小心点到了取消按钮,导致数据表被锁。  查看MySQL线程队列,找到刚刚执行的SQL看是属于什么状态。showprocessli......
  • el-table树形数据 + jsPlumb , 批量映射字段
    <template><el-dialogtitle="映射"append-to-body:visible.sync="mappingShow":close-on-click-modal="false":before-close="closeFileMappingDialog"width="1000px"><el-c......