批量修改mysql 驼峰下划线

2023年 8月 4日 62.3k 0

在实际的项目中,经常会出现类名和字段名使用驼峰命名法,但在数据库中又要求使用下划线命名法的情况。

批量修改mysql 驼峰下划线

这时候就需要批量修改数据库中的表、字段名。使用MySQL语句可以轻松实现这一功能:

RENAME TABLE `my_table` TO `myTable`;
ALTER TABLE `myTable` CHANGE `myColumn` `my_column` VARCHAR(255);

以上语句将表名 `my_table` 修改为 `myTable`,并将字段名 `myColumn` 修改为 `my_column`。

如果表中有多个字段需要修改,可以使用循环语句批量修改,例如:

DECLARE done INT DEFAULT FALSE;
DECLARE old_column_name VARCHAR(255);
DECLARE new_column_name VARCHAR(255);
DECLARE cur CURSOR FOR
SELECT COLUMN_NAME FROM information_schema.columns
WHERE table_name = 'myTable' AND table_schema = 'myDatabase';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO old_column_name;
IF done THEN
LEAVE read_loop;
END IF;
SET new_column_name = LOWER(REPLACE( CONCAT( LEFT(old_column_name, 1), MID(old_column_name, 2), UPPER(SUBSTRING(old_column_name FROM 2) )) , '_', '' ));
SET @sql = CONCAT('ALTER TABLE myTable CHANGE ', old_column_name, ' ', new_column_name, ' ',
COLUMN_TYPE, IF(IS_NULLABLE = 'NO', ' NOT NULL', ''), ' COMMENT '', COLUMN_COMMENT, ''');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END LOOP;
CLOSE cur;

以上代码将 `myTable` 表中所有字段名中的下划线转换为驼峰命名法,例如将 `my_name` 转换为 `myName`。

总之,使用MySQL语句可以很方便地批量修改表、字段名,避免了手动一个一个修改的繁琐工作。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论