인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

ukss님의 프로필 이미지
ukss

작성한 질문수

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

실전 SQL 데이터 분석 연습: AS 와 SQL 코드 정렬 익히고 실제 DB로 연습하기 (업데이트)

데이터 입력에서 오류가 발생합니다.

작성

·

298

0

안녕하세요 강사님. 

파이썬 강좌부터 지금까지 양질의 강의로 감탄하고 꾸준히 보고 있는 학생입니다.

처음으로 고비가 막힌 부분이 나타나 이렇게 질문드립니다.

질문이 처음이라 횡설수설한 티가 많이 날 듯 싶은데 ㅠ 

검토 한 번 간곡히 부탁드립니다.

이 강의 마지막에서 제시해주신 

연습문제
* 위 pymysql 샘플코드를 참고해서 다음과 깉이 작업하기

웹페이지(http://www.enuri.com/list.jsp?cate=070701) 에서 1위 ~ 10위까지 데이터 입력하기

- id는 자동 증가
- name 은 코어 이름
- model_num 은 코어 모델 번호
- model_type 은 코드명 (카비레이크, 스카이레이크 로 작성)

- 예: 코어 i7 7700 카비레이크
-> name 은 i7
-> model_num 은 7700
-> model_type 은 카비레이크

 앞에서 설명해주신 방법(주피터 노트북)으로 테이블 생성까지 마쳤습니다.  후에 데이터를 입력하는 과정에서

SQL1="""

INSERT INTO cpu (name, model_num, model_type) VALUES('i5', '10400', 'Comet Lake S');

INSERT INTO cpu (name, model_num, model_type) VALUES('i7', '10700', 'Comet Lake S');

INSERT INTO cpu (name, model_num, model_type) VALUES('i5', '10400F', 'Comet Lake S'); 

INSERT INTO cpu (name, model_num, model_type) VALUES('i9', '10900K', 'Comet Lake S');

INSERT INTO cpu (name, model_num, model_type) VALUES('i7', '10700K', 'Comet Lake S Avengers Edition'); 

"""

cursor.execute(SQL1)

이런 방식으로 시도했으나 

ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO cpu (name, model_num, model_type) VALUES('i7', '10700', 'Comet Lake ' at line 3")


가 발생하였습니다. 문제점에 대해서 여쭤보고 싶습니다.
다시 한 번 간곡히 검토 부탁드리겠습니다.

답변 1

0

안녕하세요. 보통 이런 경우는, 반드시 제가 제공해드린 코드와 자료를 그대로 실행해보시는 것이 가장 좋습니다. 

우선 지금 보여주신 코드만으로는 무엇이 에러인지 알기가 어렵습니다. 테이블이 어떤 구조로 되어 있는지, model_num, model_type 등이 어떤 데이터 타입으로 테이블이 실제로 작성이 된 것인지를 알아야 해서요. 또 제가 제공해드린 코드에서 한글자만 틀려도 이런 에러가 나기 때문에, 저조차도 이런 에러가 나면, 본래 정상동작하는 코드와 한글자씩 비교를 합니다. 

그리고 영상에서는 SQL1 에 INSERT 구문을 하나씩 넣어서 실행하지 않나요? 여러 구문을 넣어서 한번에 실행하면 이것도 이슈가 될 것 같습니다. 지금 케이스는 다음 꿀팁의 입문자분들께서 처음에 살짝 당황하시는 세번째 케이스로 보여집니다.

마지막으로 다음 '궁금한 점에 대한 답변 찾기 꿀팁' 글도 읽어보시면, 훨씬 도움이 되실 것 같습니다.
궁금한 점에 대한 답변 찾기 꿀팁
질문하시기 전에, 다음 내용을 확인해주시면 훨씬 도움이 되실꺼예요.
첫번째, 질문 전 검색은 필수! google.co.kr 에서 질문에 대해 검색해보세요!
에러 메시지는 맨 마지막 라인을 복사해서 구글에서 검색해보시고, 질문에 대해서는 질문 관련 키워드들을 조합해서 구글에서 검색해보세요.
개발자들은 모두 이를 통해, 답변을 얻습니다. 한발짝 나아 가시려면, 반드시 이런 연습이 꼭 필요합니다.
사실 검색 없이 질문을 통해, 바로 답을 얻는 부분은 장기적으로는 큰 의미가 없어요. 궁극적으로는 프로그래밍은 답을 찾는 연습을 하셔야 합니다.
저는 한가지 확인이 필요한 사안을 위해, 20 ~ 30분 검색과 10개 이상의 블로그를 찾아보는 일을 하루에도 한두번씩 한답니다.
검색이 처음이신 분들은 개발자를 위한 정보 검색 팁을 참고하시면 훨씬 성장하시는데 도움이 되실 것입니다.
두번째, 각 강의마다, 다른 분들께서도 이미 질문하신 사항들이 있습니다.
해당 부분을 확인해보시면, 답변을 기다릴 필요 없어서, 훨씬 도움이 되실 것 같습니다.
세번째, 각자 작성하신 코드 에러의 경우는
제가 제공해드린 코드자료를 수정하지 않고, 단계별로 그대로 실행해보신 후, 해당 코드와 자신의 코드가 어떤 부분이 다른지를 단계별로 확인해보시면, 훨씬 좋습니다.
키보드로 그대로 따라 치시기 보다, 제공해드린 코드를 그대로 복사해서 붙여넣고 테스트를 해보시면 좋고, 여기에서 자신의 코드와 다른 부분을 최대한 작게 쪼개서 조금씩 넣어보시면서, 테스트를 해보시면 가장 좋습니다. 각자 코드를 작성하신다면, 이렇게 작업해보시면 훨씬 도움이 되실꺼예요.
마지막으로, 질문하실 경우에는 어느 강의 영상의 어느 구간(가능하다면 몇분 몇초)에 대해 질문하시는 것인지 꼭 명기해주시면 좋습니다.
그래야 맥락이 이해가 가서, 보다 좋은 답변할 수 있습니다. 만약 구간 명기가 가능하지 않다면, 강의 영상 외적인 문의인지에 대해 확인 부탁드립니다. 본 질문 답변란은 강의 영상 이해를 돕기 위한 자리입니다. 강의 영상 외적인 부분은 양해를 부탁드립니다. 특히 극히 일부 개인별 코드 리뷰나 기능 구현등 무리가 되는 요청을 하시는 분들도 계셨는데, 좋은 강의가 선순환될 수 있도록 부탁드립니다.
잔재미코딩 Dave Lee 드림
ukss님의 프로필 이미지
ukss

작성한 질문수

질문하기