inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

Alter 질문이 있습니다

232

탱스

작성한 질문수 1

0

만약 스키마 생성 후 데이터 적재까지 완료했다고 가정할 때,Alter 구문으로 테이블 스키마 수정 혹은 컬럼 추가를 하게되면 기존에 적재된 데이터는 없어지나요?아니면 그대로 유지되나요? 적재 후 나중에라도 컬럼 추가하거나 PK 추가하고 싶을 때 어떻게 해결하는지 궁금합니다.아예 DROP 하고 처음부터 스키마 생성해서 적재하나요? 좋은 강의 감사합니다.

python sql mysql dbms/rdbms 데이터-엔지니어링

답변 1

0

잔재미코딩 DaveLee

안녕하세요. 답변 도우미입니다.

일반적으로 ALTER 구문을 사용하여 테이블 스키마를 수정하거나 컬럼을 추가할 때 기존에 적재된 데이터는 유지됩니다. 예를 들어, 새로운 컬럼을 추가하면 해당 컬럼은 기존 행에 대해 NULL 값이나, 설정된 디폴트 값으로 채워집니다.

하지만 주의해야 할 부분이 있습니다. 기존 컬럼의 데이터 타입을 변경하거나, NOT NULL 제약을 추가하는 등의 변경사항이 기존 데이터와 충돌할 경우, 오류가 발생할 수 있습니다. 예를 들어, VARCHAR 컬럼을 INT로 변경하려 할 때 해당 컬럼에 문자열 데이터가 있다면 문제가 될 것입니다.

기본키(PK) 추가에 관해서는, 기존 데이터가 새로운 PK 규칙을 위반하지 않는 한, 기존 데이터에 영향을 주지 않고 PK를 추가할 수 있습니다. 만약 기존 데이터가 새 PK 규칙에 부합하지 않는다면, 해당 데이터를 수정하거나 삭제해야 PK를 추가할 수 있습니다.

테이블을 완전히 다시 설계해야 하는 상황이라면, 테이블을 DROP 하고 새로운 스키마로 다시 생성할 수 있습니다. 하지만 이 경우 기존 데이터는 모두 손실된다는 점도 알고 유의하시면 좋을 것 같습니다. DROP 전 필요 데이터가 있다면 보통은 백업을 해놓고 DROP 을 진행합니다.

감사합니다.

0

탱스

자세히 답변 주셔서 너무 감사합니다!!

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

19

1

실습을 따라하는데 데이터베이스가 보이지 않아요

0

59

1

섹션1 4강부터 강의 실행 안됨 이슈

0

80

1

강의 자료 다운로드 관

0

94

1

강의 영상이 안나와요..

0

87

1

섹션4 화면 자체가 안나와요

0

121

1

강의 화면이 안 보이고, 목소리밖에 안나와요 ;;

0

120

1

데이터 삭제 질문

0

127

1

mysql 설치가 되지 않습니다.

0

1398

3

강의 결과 질문 - SQLD, 데이터베이스 설계, 프로젝트 구축 하여 취업

0

151

1

지마켓 파일 불러왔는데, 테이블이 생성이 안됩니다

0

122

1

실습 코드 깃허브 업로드

0

148

1

sql_safe_updates 옵션

0

155

1

sql 설치 문제

0

1430

2

서브쿼리를 JOIN으로 바꾸기

0

159

1

중고급 SQL과 실전 데이터 문의

1

161

1

(맥환경) workbench 이용할 때 패스워드 입력 안해도 자동으로 활성화 가능해져요..

0

356

1

강의 커리큘럼 질문 있습니다.

0

179

1

강의 자료 이미지가 보이지 않습니다.

0

165

1

Join 구문에서 메인 테이블

0

182

1

예제문제 추가 쿼리 질문

0

208

2

강의 화면 출력이 되지 않는 현상

0

215

1

파이썬으로 다루는 MySQL

0

211

1

JOIN 활용 SQL 연습문제

0

182

1