【MySQL】全库调整表大小写语句
统一修改字段成小写+下划线的命名规则:
V1上线后,重新看SQL调整的较可行的写法:
# = = = = = = = = = = = = = = = 统一更改全库所有字段大小写脚本SQL(会删除字段原来的字符集和排序规则) = = = = = = = = = = = = = = = = = = = =
SELECT
CONCAT(
'ALTER TABLE `', `TABLE_SCHEMA`, '`.`', `TABLE_NAME`, '` CHANGE COLUMN `',
`COLUMN_NAME`, '` `', LOWER(`COLUMN_NAME`) , '` ', -- 调整小写或者大写 UPPER(`COLUMN_NAME`)
`COLUMN_TYPE`,
IF(`IS_NULLABLE` = 'NO', ' NOT NULL', ' NULL'), -- 保持原字段 是否非空设定
IF(`EXTRA` IS NOT NULL, ' AUTO_INCREMENT', ''), -- 保持主键自带自增属性
IF(`COLUMN_DEFAULT` IS NULL, '', CONCAT('DEFAULT \'', `COLUMN_DEFAULT`, '\'')), -- 保持字段默认值属性
' COMMENT \'', `COLUMN_COMMENT`, '\';' -- 保持字段注释信息,如果无则是空字符串
) AS '统一更改字段大小写脚本SQL'
FROM
`information_schema`.`COLUMNS`
WHERE
`TABLE_SCHEMA` NOT IN('mysql', 'information_schema', 'performance_schema', 'sys') -- 非MySQL库
如果要对字段统一设置字符集&排序规则:
# = = = = = = = = = = = = = = = 统一更改字段字符集脚本SQL(utf8mb4_general_ci) = = = = = = = = = = = = = = = = = = = =
SELECT
CONCAT(
'ALTER TABLE `', `TABLE_SCHEMA`, '`.`', `TABLE_NAME`,
'` MODIFY COLUMN `', `COLUMN_NAME`, '` ', `COLUMN_TYPE`,
' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ', -- 设定字符集
IF(`IS_NULLABLE` = 'NO', ' NOT NULL', ' NULL'),
IF(`COLUMN_DEFAULT` IS NULL, '', CONCAT(' DEFAULT \'', `COLUMN_DEFAULT`, '\'')),
' COMMENT \'', `COLUMN_COMMENT`,'\';' -- 保持注释
) AS '统一更改字段字符集脚本SQL'
FROM
`information_schema`.`COLUMNS`
WHERE
`TABLE_SCHEMA` NOT IN('mysql', 'information_schema', 'performance_schema', 'sys') -- 非MySQL库
AND `DATA_TYPE` IN ('varchar', 'char', 'tinytext', 'text', 'mediumtext', 'longtext') -- 指定文本类型才具有字符集和排序规则属性设定
AND `COLUMN_KEY` != 'PRI'; -- 不干涉主键
【MySQL】全库调整表大小写语句的更多相关文章
- Percona备份mysql全库及指定数据库(完整备份与增量备份)
Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份) Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对I ...
- 从MySQL全库备份中恢复某个库和某张表【转】
从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [root@mha2 backup]#mysqldump -uroot -p123456 --default-character-set=u ...
- mysql全库搜索指定字符串
mysql全库搜索指定字符串 DELIMITER // DROP PROCEDURE IF EXISTS `proc_FindStrInAllDataBase`; # CALL `proc_FindS ...
- Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)
原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...
- 从MySQL全库备份中恢复某个库和某张表
在Mysqldump官方工具中,如何只恢复某个库呢? 全库备份 [root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-d ...
- 从mysql全库备份中恢复指定库和指定表
需求:开发要求导入某天某个表的数据,而我们的数据是全库备份 例如: 从newbei_2017-08-31_402793782.tar.bz2中恢复表:bei_table 的数据 一.备份策略 备份全 ...
- 用Xtrabackup实现MySQL全库备份与恢复
xtrabackup包含两个主要的工具,即xtrabackup和innobackupex,二者区别如下: (1)xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisa ...
- mysql全库备份数据库脚本
#!/bin/sh DATE=`date +%Y%m%d` DEL_DATE=$(date -d '-30 days' "+%Y%m%d") HOST USER=admin PAS ...
- Mysql数据库定时全库备份
如下脚本用于mysql全库定时备份 mysql_dump_script.sh #!/bin/bash #保存备份个数,最多保留4个文件 number=4 #备份保存路径 backup_dir=/db/ ...
- linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题]
linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题] 一.查看mysql是否已经安装 使用“whereis mysql”命令来查看mysql安装路径: [root@h ...
随机推荐
- react css-in-js
CSS-in-JS是一种技术,而不是一个具体的库实现.简单来说CSS-in-JS就是将应用的CSS样式写在JavaScript文件里面,而不是独立为一些css,scss或less之类的文件,这样你就可 ...
- kettle从入门到精通 第三十四课 kettle 错误处理
1.我们在平常写应用程序的时候,需要主动捕获异常或者错误,不然程序有可能异常退出.同样kettle 也支持异常或者错误处理,下图展示的是在批量插入数据的时候捕获异常,如唯一健冲突,死锁等,并将错误信息 ...
- 高可用集群MHA方案
爱奇艺在用的数据库高可用方案 MHA 是目前比较成熟及流行的 MySQL 高可用解决方案,很多互联网公司正是直接使用或者基于 MHA 的架构进行改造实现 MySQL 的高可用. MHA 能在 30 秒 ...
- vue双曲线
原型 1 <template> 2 <div :class="className" :style="{height:height,width:width ...
- idea为什么提示:Duplicated code fragment (**lines long)
idea为什么提示:Duplicated code fragment (**lines long) 原因是有相同的代码块在类里,可以把这部分代码封装成一个方法,提高代码可读性.
- Lecture1
Smiling & Weeping ---- 总是要耗尽所有期待,才舍得离开 第一章 Git简介 1.1 版本控制 1.1.1 什么是版本控制系统? 大家平常有没有遇到这种情况: 我们的初始代 ...
- openEuler 20.04 TLS3 上的 Python3.11.9 源码一键构建安装
#! /bin/bash # filename: python-instaler.sh SOURCE_PATH=/usr/local/source # 下载源码包 mkdir -p $SOURCE_P ...
- XIP技术与Flash
XIP技术与Flash 参考: 串行NAND Flash的两大特性导致其在i.MXRT FLASH控制器下无法XiP norflash芯片内执行(XIP) NOR Flash 和 NAND Flash ...
- Freertos学习:02-FreeRTOSConfig.h
--- title: rtos-freertos-02-FreeRTOSConfig.h EntryName: rtos-freertos-02-FreeRTOSConfig date: 2020-0 ...
- 3568F-PCIe 5G通信测试手册