참고 블로그
http://hyeonstorage.tistory.com/292
테이블 수정
1. 컬럼 추가(맨 뒤에 추가됨)
alter table 테이블명
add 컬럼명 datatype;
ex)
alter table player
add (age int));
2. 컬럼 삭제
alter table 테이블명
dop column 컬럼명;
ex)
alter table player
drop column age;
3. 컬럼 수정
alter table 테이블명
modify (컬럼명1 데이터 유형 [default 식][not null],
컬럼명2 데이터 유형 [default 식][not null]);
ex)
alter table player
modify (player_name varchar(30) default 'hahahaha' not null);
특징
- 컬럼의 크기를 늘릴 수는 있지만 줄이지는 못함. (기존의 데이터가 훼손될 수 있기 때문)
- 해당 컬럼이 null값만을 가지고 있으면 데이터 type을 바꿀 수 있음.
- 해당 컬럼의 default값을 바꾸면 변경 이후의 삽입에만 영향을 줌.(기존의 것이 바뀌지 않음을 의미)
- 해당 컬럼에 null 값이 없을 경우에만 not null 제약조건을 추가할 수 있음.
4. 컬럼명 수정
alter table 테이블명
rename column 변경할 컬럼명 to 새로운 컬럼명;
alter table player
rename column player_id to team_id;
5. 제약조건 추가
alter table 테이블명
add constraint 제약조건명 제약조건(컬럼명);
ex)
alter table player
add constraint player_fk
foreign key(team_id) references team(team_id);
해석
player 테이블을 바꾸겠다.
player_fk라는 이름의 제약조건을 추가하겠다.
team_id를 외래키로 하고 team테이블의 team_id를 참조하겠다.
6. 제약조건 삭제
alter table 테이블명
drop constraint 제약조건명;
ex)
alter table player
drop constraint player_fk;
테이블 삭제
drop table 테이블명
'CS기본지식 > 데이터베이스' 카테고리의 다른 글
트랜잭션 (0) | 2017.11.19 |
---|---|
조인 (0) | 2017.06.10 |
[SQL] select문 (0) | 2017.06.08 |
varchar와 char의 차이 (0) | 2017.06.07 |
테이블 생성문 (0) | 2017.06.07 |