Mysql -把字段首字母改成大写

2023-04-12

先说一下项目背景。虽然说mysql字段大多数情况命名都是小写的。但我们是从Sqlserver迁移到Mysql所以就保留了Sqlserver的命名规则。


但是又有个别表结构,命名规范不统一,因此产生了这个需求想法。


先讲一下思路。


解释函数:


CONCAT(str1,str2)字符连接函数


UPPER(str)将字符串改为大写字母


LOWER(str)将字符串改为小写字母


LENGTH(str)判定字符串长度


SUBSTRING(str,a,b)提取字段中的一段,从字符串str的第a位开始提取,提取b个字符


LEFT(str,n)提取字符串最左边的n个字符


RIGHT(str,n)提取字符串最右边的n个字符


思路:


1、用LEFT单独将首字母取出并用UPPER换成大写


2、确定字段的长度,并用SBUSTRING取出从第二位到最后一位的所有字段备用。


3、用CONCAT连接上边的两个值


4、update表中字段的值即可。


然后再生成Alter语句。


SELECT CONCAT( 'alter table ', '表名', ' change column ', COLUMN_NAME, ' ', CONCAT(UPPER(LEFT(COLUMN_NAME,1)),SUBSTRING(COLUMN_NAME,2,LENGTH(COLUMN_NAME))) , ' ', COLUMN_TYPE, ' comment \'', COLUMN_COMMENT, '\';' ) AS '修改脚本' FROM information_schema.COLUMNS WHERE TABLE_NAME = '表名';


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com