1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql 表名批量转大写_(转)mysql数据库表名批量修改大小写

mysql 表名批量转大写_(转)mysql数据库表名批量修改大小写

时间:2023-07-05 06:10:42

相关推荐

mysql 表名批量转大写_(转)mysql数据库表名批量修改大小写

由于不用服务器对mysql的表名的大小写敏感要求不一致,经常在出现线上的数据库down到了本地不能运行的情况,贴出一段代码用来批量修改数据库表名大小写。

DELIMITER //

DROP PROCEDURE IF EXISTS uppercase //

CREATE PROCEDURE uppercase(IN dbname VARCHAR(200))

BEGIN

DECLARE done INT DEFAULT 0;

DECLARE oldname VARCHAR(200);

DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema = dbname;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

OPEN cur;

REPEAT

FETCH cur INTO oldname;

SET @newname = UPPER(oldname);

#IF newname equals to oldname, do nothing;

#select 'a' <> 'A'; -> 0

#select 'a' <> BINARY 'A'; -> 1

SET @isNotSame = @newname <> BINARY oldname;

IF NOT done && @isNotSame THEN

SET @SQL = CONCAT('rename table ',oldname,' to ',@newname);

PREPARE tmpstmt FROM @SQL;

EXECUTE tmpstmt;

DEALLOCATE PREPARE tmpstmt;

END IF;

UNTIL done END REPEAT;

CLOSE cur;

END //

DELIMITER ;

#调用存储过程

#call uppercase('TEST');

#TEST为你想要修改的数据库的名称

mysql 数据库表名大小写问题

lower_case_table_names=1 原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /usr/f: ...

windows下mysql数据库表名大小写不敏感

最近新入职,领导让做个小功能先练练手.是一个添加分类的功能,有添加和列表,很简单.功能做完后提交,结果在线上出现一个大大的500. 但是我再本地环境下是正常的,我以为可能是php的版本不一致导致的问题 ...

MySQL数据库表名、列名、别名区分大小写的问题

MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 1.数据库名与表名是严格区分大小写的: 2.表的别名是严格区分大小写的: 3.列名与列的别名在所有的情况下均是忽略大小写的: 4 ...

mysql数据库表名区分大小写

使用mysql的时候,创建的表明都是大写的,但是查询语句中表明用消息就会报错,表不存在. 查询后发现mysql默认配置是表明区分大小写的,如果要修改成不区分大小写,需要修改一下配置. 1.修改MySq ...

【转】利用optimize、存储过程和系统表对mysql数据库表进行批量碎片清理释放表空间

本文收集于本人的笔记本,由于找不到原文出处.在此省略,如哪位知道可以联系我加上. 核心是利用mysql系统表和“optimize table 表名”命令,对mysql数据表进行空间的释放.由于dele ...

mysql数据库表的基本操作sql语句总结

1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql-uroot-p Enterpassword:***** We ...

Linux环境下修改MySQL数据库对表名大小写不敏感

Linux系统中MySQL对数据库名称和表名是大小写敏感的,这就导致了一些麻烦,虽然已经建立了表和数据,但因为大小写导致无法找到表. MySQL数据库对表名大小写不敏感的设置方法如下: 1.查看MyS ...

MySQL中将数据库表名修改成大写的存储过程

原文:MySQL中将数据库表名修改成大写的存储过程 MySQL中将数据库表名修改成大写的存储过程 创建存储过程的代码: DROP PROCEDURE IF EXISTS uppercaseTablen ...

mysql数据库导入导出 查询 修改表记录

mysql数据导入导出: 导入: 把系统的文件的内容,保存到数据库的表里 导入数据的基本格式:mysql> load data infile "文件名" into table ...

随机推荐

《C&num;编程宝典:十年典藏版》阅读笔记&lpar;1&rpar;

1.运行时错误,使用Checked块语句进行异常检查与抛出异常. 2.值类型使用线程堆栈保存数据,数据大小大概为1M左右,引用类型使用托管堆保存数据,可以无限分配空间,因为有一个GC垃圾回收机制存在, ...

Mysql数据库的使用经验总结

1. 对mysql插入中文的时候显示乱码,搞了很多天,把服务端.客户端和数据库的编码全改为u8了又重新创建数据库和表还是不行,到最后却发现没有乱码!原来只是windows的cmd没有支持u8,换个客户 ...

WPF 之 布局(三)

六.DockPanel DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中.停靠面板其实就是在WinForm类似于Dock属性的元 素 ...

bat命令中的变量声明及使用

在bat文件中声明变量的方式如下: set xxx_variant_name=yyyyyyyyyyyy move D:\abc\efg\test.txt %xxx_variant_name%\test ...

Web&period;config中rewite 节点引起的500&period;19错误

刚刚接手一个外包的小项目,客户给了发布后的网站文件和数据库,想在本地搭建一套环境先运行下看看网站原有的效果.数据库还原什么都弄好了,数据库字符串也配置好,部署在本地IIS里面,访问了下,结果看到的是5 ...

见过的最全的iOS面试题

之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家.(题目来源于网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接口么?Cat ...

python取txt文件的若干行到另一个文件

取movie.txt文件的若干行到movie2.txt #取txt文件 的若干行到另一个txt f1 = open(r'F:\movie.txt','rb') f2= open(r'F:\movie2 ...

《JavaScript高级程序设计》笔记:DOM扩展(十一)

选择符API querySelector()方法 // 取得body元素 var tbody = document.querySelector('body'); // 取得ID为"myDIV ...

来自学长&amp&semi;师兄们的应届校招经验

PART1 记得三月的第一个星期五吧,小操场打球,偶遇一位研三师兄,就主动跟师兄聊起了校招求职.很高兴,能遇到一位愿意跟你分享他自己求职经验的师兄,师兄也很热情,我们聊了好多.下面,开始 ...

大家一起做训练 第二场 E Cottage Village

题目来源:CodeForce #15 A 现在有 n 间正方形的房子,其中心点分布在 X轴 上,现在我需要新建一间边长为 t 的房子,要求新房子至少和一间房子相邻,但是不能和其他房子重合.请输出我有多 ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。