MySQL/혼공SQL

[SQL 기초 강의] 12강. GUI 환경에서 테이블 생성하기, SQL로 테이블 만들기

묘걍 2023. 11. 20. 20:37

05-1. 테이블 만들기

- 엑셀의 시트와 유사 (하지만 엑셀의 시트는 테이블이라 부르지는 않음)

- 테이블은 DB안에 있는 객체

- GUI 방식 (마우스로 클릭)과 SQL문을 통한 방식이 있다

🗃️ 네이버 쇼핑 DB 구성도

출처: 혼공SQL 유튜브

👉🏻 테이블 설계

- 집 짓기 전 건축 설계도 그리는 것 처럼

🧩 회원 테이블

출처: 혼공SQL 유튜브

- ID를 PK로

- 평균 키는 UNSIGNED TINYINT (0~255)

🧩 구매 테이블

출처: 혼공SQL 유튜브

- 구매 테이블의 ID를 회원 테이블의 ID와 PK - FK 관계로 연결되도록

- 순번: 기본키 (PK), AUTOINCREMENT

 

👉🏻 GUI 환경에서 테이블 만들기

🎮 DB 만들기

- 일단 DB만 쿼리문으로 만드는 듯

- 더블 클릭을 통해 데이터베이스 사용하기

🎮 테이블 만들기

- naver_db를 열어 'Tables'를 마우스 오른쪽 클릭 → 'Create Table' 선택

- 테이블 만들 수 있는 창 나타남

🎮 회원 테이블

- 테이블 명에 'member'

- 밑의 흰 공백부분 더블클릭후 컬럼 하나씩 만들어주기

- 요건대로 컬럼 만들어주기

- 옵션 체크 신경쓰기

- 만약 잘못 추가한 열이 있다면 마우스 오른쪽 → 'Delete Selected'

- Apply 누르기

- SQL문 버전

- 완료

- 스키마를 확인해보면 member 테이블이 생성되어있다

🎮 구매 테이블

- 외래키를 GUI를 활용해 추가할 수 도 있긴 한데 일단은 쿼리문을 통해 추가함

👉🏻 테이블에 데이터 입력하기

🎮 MEMBER 테이블 데이터 입력하기

- 테이블에 마우스오른쪽 → 'Select Rows' 선택

- 입력된 것들이 보여야 하는데 입력한 게 없어서 아무것도 안 보임

- NULL 부분 더블클릭해서 값 채워 넣기

- 임시로 하는 거라 3개만

- Apply 클릭

- SQL문이 나옴

🎮 BUY 테이블 데이터 입력하기

- 순번은 입력하지 않음 (AUTO_INCREMENT로 자동 입력되기 때문)

- 오류 발생!

- 구매 테이블에 데이터가 있으려면 회원 테이블에 해당 ID의 데이터가 있어야 한다

- 우리가 회원 테이블을 만들 때 '트와이스', '블랙핑크', '여자친구'데이터만 넣었다

- 구매 테이블에서 회원 테이블에 없던 'APN'이 나타나 오류가 난 것

- 1:다 관계 (회원 - 1, 구매 - 다)

- 회원이 되어야만 구매가 가능함

- 일단 취소

- APN 행에 대해 마우스 오른쪽 → Delete Row(s) 선택

- GUI로 입력하는 것 보다는 SQL로 입력하는 것을 권장한다!

 

👉🏻 SQL ver

출처: 혼공SQL 유튜브

- 원래 이런식으로 복잡

- 간단하게 이런 식으로 만들 수 있다

- 열은 한 개 이상이기만 하면 됨

🎮 위에서 만든 것 삭제하기

👉🏻 SQL로 데이터베이스 만들기

- DB 생성

- DB 사용 선언

👉🏻 SQL로 테이블 만들기

🎮 member 테이블 만들기

- 존재한다면 삭제하는 구문은 웬만하면 꼭 써주기

- 회원 아이디 = PK

- 이름

- 인원수

- 주소 (경기, 서울, 경남 이런 식으로 2글자만 입력)

- 연락처의 국번(02, 031 등)

- 연락처의 나머지  전화번호 (하이픈 제외)

- 평균 키

- 데뷔 일자

*NOTNULL 여부 지정해서 다시 만들어보기

* 기본키 지정 추가하기

🎮 buy 테이블 생성하기

* 외래키 지정 추가

👉🏻 데이터 입력하기

🎮 member 테이블 데이터 입력하기

🎮 buy 테이블 데이터 입력하기

- 에이핑크가 회원이 아니라 에러남 (위와 같은 상황)

 

➡️ 둘 다 동일한 결과를 낸다

 

 

 

 

 

 

 

 

 

출처: https://youtu.be/DMNpkj_bZIs?si=cHpB1jocUVGQS0-d