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

iliili8717님의 프로필 이미지
iliili8717

작성한 질문수

장래쌤과 함께하는 쉽고 재미있는 SQL 이야기

DML 문에 대한 이해, INSERT 문

insert into 구문

작성

·

29

0

image.png

insert into 구문 따라하면서 익히고 있는데 결과값이 선생님과 상이하게 나와서 질문드려요 ㅜㅜ 어디서 뭘 잘못하고 있는 걸까요...? 그리고 char이랑 varchar이 뭔지 자세하게 설명해 주실수 있으실까요...?

답변 2

0

장래쌤님의 프로필 이미지
장래쌤
지식공유자

안녕하세요?

캡쳐해서 보여주시는 구문에는 문제가 없어 보입니다. 그리고 하단의 결과는 보여주신 구문의 결과라고 보기 힘듭니다.예전에 작성한 구문의 결과인 것 같아요. 위 구문, 즉 retired_employee 테이블 삭제 구문부터 하나씩 다시 실행해 보시면 좋을 것 같습니다. 그래도 안되시면 다시 질문해 주세요. 그리고 예전 질문에 대한 답변을 했는데 해결 여부가 체크되지 않았네요. 제 답변으로 문제가 해결되었으면 질문 상태를 바꿔주시면 감사하겠습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. iliili8717님,

INSERT INTO 구문을 따라 수행해보면서 결과가 예상과 다르게 나오셨다면, 몇 가지 문제점이 있을 수 있습니다. SQL 쿼리를 작성할 때 주의해야 할 부분들과 함께 CHARVARCHAR의 차이점에 대해 설명드리겠습니다.

INSERT INTO 구문

  1. SQL 구문 확인:
    ‘INSERT INTO’ 구문을 쓸 때, 대상 테이블의 스키마(컬럼 구조)가 소스 테이블의 스키마와 정확히 일치하는지 확인해야 합니다. 즉, 컬럼의 이름과 순서가 맞는지, 데이터 타입도 호환되는지 확인이 필요합니다.

  2. 데이터 타입:

    • CHAR: 고정 길이의 문자열 타입으로, 저장하려는 값보다 짧으면 나머지를 공백으로 채웁니다. 예를 들어, CHAR(10)이라면 10개의 문자 공간을 항상 차지합니다.
    • VARCHAR: 가변 길이의 문자열 타입으로, 실제 입력된 문자 길이에 따라 공간을 차지합니다. VARCHAR(10)이라면 최대 10개의 문자까지 저장할 수 있지만, 실제로 사용하는 공간은 문자열의 길이에 따라 달라집니다.

차이점

  • CHAR: 메모리 사용이 고정됩니다. 빠른 접근 속도를 제공할 수 있지만, 데이터의 길이에 따라 공간 낭비가 있을 수 있습니다.
  • VARCHAR: 효율적인 메모리 사용이 가능합니다. 데이터의 길이가 변동될 수 있는 경우에 적합하지만, 상대적으로 CHAR보다 접근 속도가 느릴 수 있습니다.

문제 해결 조언

  • SQL 로그나 에러 메시지를 확인하여 문제가 발생할 수 있는 부분을 점검하세요.
  • 데이터 타입(CHAR vs VARCHAR)이 예상대로 동작하지 않을 수 있습니다. 특히, 데이터 길이와 저장 공간이 차이나는 경우를 대비하여 타겟 테이블의 데이터 정의를 다시 확인해보세요.

관련 질문 URL

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

iliili8717님의 프로필 이미지
iliili8717

작성한 질문수

질문하기