2013-01-22 2 views
0

게임에 대한 통계가 포함 된 테이블에 큰 그룹 그룹이 있습니다 (50+).이름에 '_nd'가 포함 된 열 삭제, 이름에 '_er'가 포함 된 열 이름 바꾸기?

통계를 단순화하고 있으므로 이제 두 가지 작업을 수행하려고합니다.

  • 드롭 이름이 포함 된 열 '% _nd %'
  • 모든 열 이름에서 문자열 '_er'을 제거합니다.

이 작업을 쉽게 자동으로 수행 할 수 있습니까? 아니면 모든 열 이름을 수동으로 입력해야합니까?

답변

2

그럼 당신은 실행하여 먼저 다음을 수행 할 수 있습니다 해, 작성된 SQL 사용 :

select distinct concat('alter table ',table_name,' change ',column_name, ' ', replace(column_name, '_er', ''), ' ', data_type, case when CHARACTER_MAXIMUM_LENGTH is not null then concat('(', CHARACTER_MAXIMUM_LENGTH, ')') end) someSql 
from information_schema.columns 
where column_name like '%_er%' 
: 당신은 유사한 쿼리로 두 번째를 할 수

select distinct concat('alter table ',table_name,' drop column ',column_name) someSql 
from information_schema.columns 
where column_name like '%_nd%'