인프런 커뮤니티 질문&답변

bluesun123a님의 프로필 이미지
bluesun123a

작성한 질문수

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

------------------------------------

INSERT 이용해서 가격(lowest_price) 데이터 추가는 불가능한가요?

작성

·

228

·

수정됨

0

- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

섹션 3

SQL로 데이터 삭제하고, 다양한 SQL 활용하기 강의 내용 중 10분 54초에서 제품의 가격(lowest_price)들을 UPDATE 함수 이용해서 추가하셨는데,

 

혹시 INSERT 를 사용해서 추가는 불가한 건가요??

INSERT INTO mytable (lowest_price) VALUES (28170);

했는데 안 되네요 ㅎㅎㅎ

INSERT는 VALUES에 모든 column의 값이 다 들어가 있어야만 추가할 수 있는 함수인 건지 궁금합니다

답변 1

1

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

UPDATE 를 한 것은 특정 row 에 lowest_price 값을 바꾸기 위한 것이라서요.

INSERT 는 새로운 row 를 넣는 명령이기 때문에, 안되는 것인데요. INSERT 에서도 row 추가시, 특정 컬럼에만 값을 넣는 형태로 row 를 추가할 수 있습니다. 이 부분은 INSERT 관련 설명 영상을 다시 한번 참고해보시면 이해하실 수 있고요. 관련 문법은 다음과 같습니다.

 

INSERT INTO 테이블 이름 (열1, 열2, ...)

VALUE (값1, 값2 , ….)

 

감사합니다.

bluesun123a님의 프로필 이미지
bluesun123a
질문자

UPDATE를 한 것은 값을 바꾸기 위한 것이라고 하셨는데 그럼 UPDATE하기 전, lowest_price 열의 값들이 다 NULL로 뜨는데, 이것도 NULL이라는 기존 값이 존재하고, 여기에서 다른 값으로 바꾼다고 생각하는 건가요??

 

또한 INSERT의 개념을 새로운 row를 넣는 명령이라고 하셨는데, 그럼 비어있는 low_price column에 새로운 row를 넣는다고 생각하면 안 되는 걸까요?

 

마지막으로, 'INSERT에서도 row 추가시, 특정 컬럼에만 값을 넣는 형태로 row를 추가할 수 있다'는 말씀이

즉 INSERT를 사용할 때는 열이 적어도 2개 이상이어야 한다는 의미인지 궁금합니다!

ex. INSERT INTO 테이블 이름 (열1, 열2) VALUE (값1, 값2)

여기서 최소 열1, 열2는 있어야 한다는 말씀이실까요!!

bluesun123a님의 프로필 이미지
bluesun123a

작성한 질문수

질문하기