본문 바로가기
데이타베이스

MYSQL Table 수정 위한 alter 용법

by 세이박스 2008. 10. 9.
반응형
0. 개요
ALTER TABLE에는 다음 세가지 형식이 있습니다.
ALTER TABLE table_name ADD ( ... ) ;
ALTER TABLE table_name MODIFY( ... ) ;
ALTER TABLE table_name DROP PRIMARYKEY ;

1. 필드 추가
ALTER TABLE table_name ADD ( ... ) ;
# ALTER TABLE diary ADD addr char(20);
diary 테이블에 속성이 char(20)인 'addr' 칼럼 추가
# ALTER TABLE diary ADD addr char(20) AFTER d;
diary 테이블에 속성이 char(20)인 'addr' 칼럼을 'd' 칼럼 뒤에 추가
# ALTER TABLE diary ADD INDEX (d), ADD PRIMARY KEY (a);
컬럼 d에 새로운 인텍스를 생성 컬럼 a에 primary key 생성.
# ALTER TABLE diary ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (c);
diary 테이블에 c라는 컬럼을 새로 생성시키는데
INT (INTEGER) : 정수
UNSIGNED : 양수
NOT NULL : 아무데이타가 없으면 '0'
AUTO_INCREMENT : 데이타가 자동적으로 입력됨...
ADD INDEX (c) : 컬럼 c에 대해서 인텍스 생성
 
2. 필드 수정
ALTER TABLE table_name MODIFY( ... ) ;
# ALTER TABLE test MODIFY (age NUMBER NULL );
NOT NULL을 NULL로 바꾸기
# ALTER TABLEtest MODIFY (name VARCHAR2( 20 ) );
열의 폭 늘이기
 
3. 필드 삭제
ALTER TABLE table_name DROP PRIMARYKEY ;
# ALTER TABLE ddiass DROP COLUMN c;
컬럼 c를 삭제
 
4. 기타
# ALTER TABLE t1 RENAME t2;
테이블 이름을 t1에서 t2로 바꿈
# ALTER TABLE t2 CHANGE a a TINYINT NOT NULL, CHANGE b c CHAR(20);
테이블 내의 컬럼 속성을 바꿈. 원래 컬럼 a는 INTEGER였는데 TINYINT로,
컬럼b는 CHAR(10)이었는데 컬럼이름은 c로 이타 타입은 CHAR(20)으로 수정
반응형