alter

컬럼명 변경

1
2
3
4
alter table [테이블명] change [기존 컬럼명] [변경할 컬럼명] [컬럼 타입];

ex)
> alter table user change old_name new_name int;

컬럼 순서변경

1
2
3
4
alter table [테이블명] modify [순서를 변경할 컬럼명] [컬럼 타입] after [앞에 올 컬럼명];

ex)
> alter table user modify nickname varchar(60) after user_id;

컬럼 default 값 변경

1
2
3
4
alter table [테이블명] alter column [변경할 컬럼명] set default [디폴트 값];

ex)
> alter table user alter column member_idx set default 100;

컬럼 타입 변경

1
2
3
4
alter table [테이블명] modify [컬럼명] [변경할 컬럼 타입];

ex)
> alter table user modify score varchar(60);

컬럼 추가

1
2
3
4
5
6
7
8
9
10
11
12
alter table [테이블명] add [추가할 컬럼명] [컬럼 타입] default [default 값];

alter table [테이블명] add column [추가할 컬럼명] [컬럼 타입] default [default 값] [컬럼 위치];


ex)
> alter table user add level in default 1;

> alter table rank add column ranking int(10) default 0 after user_id;

# 테이블 맨 앞에 추가
> alter table rank add column test int(10) default 1 first;

컬럼 삭제

1
2
3
4
alter table [테이블명] drop column [컬럼명];

ex)
> alter table user drop column level;

특정 컬럼에 utf8 설정

1
alter table [테이블명] modify column [컬럼명] [컬럼 타입] character set utf8 collate utf8_general_ci;

auto_increment 값 초기화

1
2
3
4
alter table [테이블명] auto_increment = [변경할 숫자];

ex)
> alter table bbs auto_increment=0;

auto_increment 값 재정렬 후 초기화

1
2
3
4
5
# 글 목록에서 특정 글을 삭제할 때 재정렬하고
# 새 글을 작성하면 정렬된 상태에서 새 글 번호가 부여되겠끔할 때 유용
set @count = 0;
update [테이블명] set [테이블명].[컬럼명] = @count:=@count+1;
alter table [테이블명] auto_increment=1;

특정 테이블의 상태 값들 확인하기

1
2
3
4
show table status where name = '[테이블명]';

ex)
> show table status where name='board';