mysql - 重命名整个数据库中的列名(所有模式)
问题描述
我想将当前命名的列重命名deviceID
为更有说服力的样式device_id
。然后在我的代码库中使用 sed 将其放入 MySQLs/deviceID/device_id
似乎是最好的解决方案。
所以我写了这个助手:
SELECT
CONCAT('ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME,
'` CHANGE COLUMN `', COLUMN_NAME, '` `device_id` ',
COLUMN_TYPE, IF(IS_NULLABLE = 'YES', ' NULL', ' NOT NULL'),
IF (COLUMN_DEFAULT IS NULL, '', CONCAT('DEFAULT ', COLUMN_DEFAULT)), ';')
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME LIKE 'deviceID';
然后我可以将输出通过管道传输到mysql
.
有没有更简单、更安全的解决方案?
解决方案
推荐阅读
- python - 如何在 Windows 中运行使用 pip 安装的程序?
- python - 如何将 R conda env 连接到 jupyter notebook
- r - 循环遍历列以删除 NA
- ios - 将 Xcode 中的搜索限制为自上次提交以来更改的行
- python - How do you call a method both "inside" and "outside" an instance in python?
- mongodb - MongoDB:从字符串字段中删除第一个字符并更新该字段
- laravel - 服务器上的 Laravel 播种机
- express - Express 控制器不返回 cookie
- php - 如何检测 $POST 函数内容是否有空间然后转换为“_”以创建文件夹?
- xcode - Flipper + Flutter 错误:架构 arm64 的未定义符号