<진실의 방 Mysql 01. 고난의 시작>

강민수·2021년 12월 19일
0

진실의 방

목록 보기
12/26

다시 간만에 돌아온 진실의 방 시리즈. 이번에는 필자가 mysql에서 테이블을 만들고, 데이터를 삽입하면서 겪었던 문제에 대해 이야기해 보고자 한다.

사실 백엔드를 하면서 직접 db를 터미널 상에서 표로 만들 수 있다는 사실에 정말 신기하고 재밌었다. 하지만, 하나씩 해보면서 고난을 경험하기도 했었다.

다음은 필자가 mysql에서 직접 데이터를 넣으면서 경험한 문제와 그 해결과정을 담았다.

01.테이블의 관계성은 지켜야 된다!!!



-> 아티스트 테이블을 만들지 않고 그냥 무지성으로 만들면 이렇게 된다.
결국 하나의 테이블 안에 칼럼의 구조를 단순화하면 상관 없지만, 포린키 등을 이용해 다른 테이블과의 관계 값을 만들면 참조 테이블이 없다면 생성 조차 되지 않는다. ㅎㅎ

그래서 다시 아티스트 테이블부터 만들었다.

자~ 이제 다시 한 번 송스 테이블을 만들어 보겠다.

바로 만들어졌다. 어떤가? 생각보다 mysql이 참 똑똑하다는 생각이 들지 않는가?

결론적으로 순서는 무시하면 절대 안 된다. 참조 값을 넣은 테이블은 참조할 테이블이 먼저 있어야 한다!!!!

02. 데이터는 하나만 넣을 수 있나?

이제 갓 mysql에 진입한 필자는 테이블을 만드는 것부터 고생이더니. 또 이제 하나씩 의문이 생기기 시작하는데...


테이블 데이터를 넣는 개념은 insert into인 것까지만 딱 알았었다. 그러다 보니,

첫 의문은

데이터 입력은 한 번에 여러 행을 넣을 수는 없나? 였다.

필자는 굉장히 코드 많이 치는 것을 싫어하는 전형적인 귀차니즘 파이기때문에 굳이 불 필요한 노가다를 하고 싶지는 않았다. 그래서 분명 나같은 귀차니즘 파가많을 것이라는 생각에...

구글링을 시작한다. 그 결과 딱! 바로 답을 얻었다.

Insert into 테이블 명 (칼럼명1, 칼럼명2, .....)
values
(데이터1, 데이터2),
(데이터1, 데이터2),
(데이터1, 데이터2); ......

이런 식으로 넣고 싶은 칼럼을 지정해 주고, 소괄호로 묶어주고, 기존처럼 벨류 뒤에 해당 칼럼에 들어갈 데이터를 지정해서 넣어주면 끝이다. 그런데 필자는 이것도 모르고 그냥 하나씩 인서트 인투를 다 넣고 있었던 것....

그래서 바로 실행에 옮겼다.

mysql> insert into song (title, lyrics, artist_id)
    -> values
    -> ('하루끝', '아이유 사랑해요', 1),
    -> ('눈의꽃', '눈꽃으로 나나나', 2),
    -> ('보고싶다', '보고싶다~', 3),
    -> ('거리에서', '니가 없는 거리에서', 4);

이런 식으로 바로 들어가는 것을 볼 수 있다. 그래서 이제 테이블 만드는 것이 그렇게 어렵게만 느껴지지는 않았는데... 큰 벽을 만나게 된다.... ㅜㅜ

또 다른 시련이 뭘 지는 다음 화에서 확인하겠다~

==================to be continued=======================

profile
개발도 예능처럼 재미지게~

0개의 댓글