참고 블로그

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

+ Recent posts