[SQL] 혼공단_4주차_Chapter 05

Haeun Noh·2023년 7월 30일
0
post-thumbnail

0730


기본 미션 : p. 226의 market_db의 회원 테이블(member) 생성하고, p. 229 데이터 입력한 후 인증하기

선택 미션 : p. 271 확인 문제 4번 풀고 인증하기

이번 4주차에서는 테이블과 뷰를 배우네요

MySQL 워크벤치에서는 간단한 클릭으로 테이블을 만들 수 있지만 실무에서는 쿼리문으로 사용하는 것을 더 선호한다고 합니다.

저도 나중에 테이블이 삭제되었을 때를 대비해서 쿼리문으로 남겨놓는 것이 낫겠다 싶었어요.

그리고 뷰라는 걸 처음 들어봤는데 대체 무슨 개념일지 궁금해지네요.
그럼 바로 미션 공유 시작하겠습니다~



기본 미션 : p. 226의 market_db의 회원 테이블(member) 생성하고, p. 229 데이터 입력한 후 인증하기


0. cmd창에서 mysql 접속하기

저는 cmd에서 쿼리문을 작성하기 위해

mysql -u root -p

를 통해 root계정으로 접속을 하였습니다.


1. naver_db 생성하기


2. naver_db를 사용한다고 명시하기


만약 특정 데이터베이스를 사용한다고 명시하지 않으면 아래의 예시처럼 어떠한 db 테이블의 값을 CRUD하려고 할 때 실패할 수 있습니다.

  • member 테이블에서 모든 결과값을 불러오는 데에 실패한 모습을 볼 수 있습니다.

3. naver_db 안의 테이블 확인하기

아직은 테이블을 만들지 않았기 때문에 테이블이 비어있다고 뜹니다.


4. naver_db 데이터베이스 안의 member테이블을 생성하기

위처럼 작성한 뒤에 엔터를 누르면 Query OK가 뜰겁니다.
그 뒤 실제 workbench로 들어가 테이블을 확인해보면, 이렇게 naver_db에 member 테이블이 추가된 걸 확인할 수 있습니다.


5. cmd로도 테이블 확인하기


6. buy 테이블 만들기

  • num1씩 자동으로 증가합니다.
  • priceamount는 음수값이 나올 수 없으므로 UNSIGNED를 붙여줍니다.
  • FOREIGN KEYmember테이블의 mem_idbuy테이블의 mem_id를 연결해줍니다.

7. 추가된 테이블 확인하기

추가한 buy테이블도 보이네요!


8. member테이블에 값 넣기

모든 컬럼의 값을 다 넣을 거라면 컬럼명은 명시하지 않아도 됩니다.


9. SELECT문으로 member에 추가된 값 모두 불러오기

정상적으로 값이 잘 입력된 것을 확인할 수 있습니다.



선택 미션 : p. 271 확인 문제 4번 풀고 인증하기


CREATE OR REPLACE VIEW는 기존에 뷰가 있더라도 덮어쓰는 효과를 지닙니다.

즉, DROP VIEWCREATE VIEW를 연속으로 작성한 효과를 갖기 때문에 정답은 4번입니다.



profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글