【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 ...
随机推荐
- 使用C代码实现读取文件中的hex字符串,转换为字节数组
举例说明: ptp.txt文件中的内容为: 7a7ac0a8c80100000000003388f70002002c000004000000000000000000000000000000000000 ...
- 第一次至第三次PTAJava大作业分析
(1)前言: 三次题目集的知识点: 正则表达式(Regular Expression,简称Regex或RegExp)是一个强大的文本处理工具,用于匹配.查找和替换字符串.以下是正则表达式的主要知识点总 ...
- LeetCode 449. Serialize and Deserialize BST 序列化和反序列化二叉搜索树 (Java)
题目: Serialization is the process of converting a data structure or object into a sequence of bits so ...
- 点击li 该li变色
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 实战分析Java的异步编程,并通过CompletableFuture进行高效调优
一.写在开头 在我们一开始讲多线程的时候,提到过异步与同步的概念,这里面我们再回顾一下: 同步:调用方在调用某个方法后,等待被调用方返回结果:调用方在取得被调用方的返回值后,再继续运行.调用方顺序执行 ...
- Windows 下自动预约申购 i茅台
今天分享一个自动预约抢茅子的工具! 前期准备工作: 1.需安装:.Net6 依赖 (根据操作系统选择 x64 或 x86 版本进行下载.) 安装软件 1.软件下来下来之后,解压并进入软件目录,我们双击 ...
- spring.jackson 相差8小时,restful接收Date参数处理
spring.jackson 相差8小时,restful接收Date参数处理 前端提交字符串到后台映射日期类型的话,加上@DateTimeFormat(pattern = "yyyy-M ...
- 关于Lecture2建立一个Git远程仓库的补充
Smiling & Weeping ---- 心之何如,有似万丈迷津, 遥亘千里. 其中并无舟子可渡人, 除了自渡,他人爱莫能助. Git 远程仓库(Github) Git 并不像 SVN 那 ...
- 如何使用 Dump 文件?
引言 本文概述了使用 WinDbg 的一些必要步骤. 准备工作 第一步,你必须更改系统的配置使其能够生成 PDB 文件,包括 Release 版本.近期的 Visual C++ 编译器默认启用此配置, ...
- c++引用(REFERENCES)
一个例子 void add(int value) { value++; } int main() { int a = 5; LOG(a); add(a); LOG( a); } 在这种情况下,变量a在 ...