重命名MySQL中的列名

时间:2012-03-02 00:53:43

标签: mysql

我在MySQL表T1中有一堆列,其名称类似于

A/B
C/D
E/F etc

我想删除'/',以便名称为AB, CD, EF (etc)

是否有办法(查询)将所有这些重命名,而不是通过alter table

逐个重命名

由于

2 个答案:

答案 0 :(得分:2)

简单的方法是编写一个输出SQL的查询,然后将输出复制粘贴回命令行。

这样的事情:

select concat('alter table ', table_name, ' change ', column_name, ' ', replace(column_name, '/', ''), ' ', column_type, ';')
from information_schema.columns
where table_schema = 'mydbname'
and column_name like '%/%';

我测试了这个SQL并且它可以正常工作

答案 1 :(得分:0)

alter table table_name
            change A/B AB varchar(20),
            change C/D CD varchar(20), 
            change E/F EF varchar(20)