Mysql -把字段首字母改成大写
先说一下项目背景。虽然说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



