Alter 질문이 있습니다
232
작성한 질문수 1
만약 스키마 생성 후 데이터 적재까지 완료했다고 가정할 때,Alter 구문으로 테이블 스키마 수정 혹은 컬럼 추가를 하게되면 기존에 적재된 데이터는 없어지나요?아니면 그대로 유지되나요? 적재 후 나중에라도 컬럼 추가하거나 PK 추가하고 싶을 때 어떻게 해결하는지 궁금합니다.아예 DROP 하고 처음부터 스키마 생성해서 적재하나요? 좋은 강의 감사합니다.
답변 1
0
안녕하세요. 답변 도우미입니다.
일반적으로 ALTER 구문을 사용하여 테이블 스키마를 수정하거나 컬럼을 추가할 때 기존에 적재된 데이터는 유지됩니다. 예를 들어, 새로운 컬럼을 추가하면 해당 컬럼은 기존 행에 대해 NULL 값이나, 설정된 디폴트 값으로 채워집니다.
하지만 주의해야 할 부분이 있습니다. 기존 컬럼의 데이터 타입을 변경하거나, NOT NULL 제약을 추가하는 등의 변경사항이 기존 데이터와 충돌할 경우, 오류가 발생할 수 있습니다. 예를 들어, VARCHAR 컬럼을 INT로 변경하려 할 때 해당 컬럼에 문자열 데이터가 있다면 문제가 될 것입니다.
기본키(PK) 추가에 관해서는, 기존 데이터가 새로운 PK 규칙을 위반하지 않는 한, 기존 데이터에 영향을 주지 않고 PK를 추가할 수 있습니다. 만약 기존 데이터가 새 PK 규칙에 부합하지 않는다면, 해당 데이터를 수정하거나 삭제해야 PK를 추가할 수 있습니다.
테이블을 완전히 다시 설계해야 하는 상황이라면, 테이블을 DROP 하고 새로운 스키마로 다시 생성할 수 있습니다. 하지만 이 경우 기존 데이터는 모두 손실된다는 점도 알고 유의하시면 좋을 것 같습니다. DROP 전 필요 데이터가 있다면 보통은 백업을 해놓고 DROP 을 진행합니다.
감사합니다.
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





