혼공

혼자 공부하는 SQL 2주차

poem 2024. 7. 14. 22:31

2주차 시작합니다

 

설치대소동

1주차때는 개인 노트북을 두고 와서 회사 intel 노트북으로 진행했었는데 스무스하게 작동되었었다.

그러나...
나의 귀염둥이 M1 맥북은 설치 시작부터 미간을 찌푸리게 만들더니 결국 2시간가량 에러 시비를 걸었다.

uninstall과 install mysql를 끊임없이 반복하다가, 해맑게 보내는 'erroR! The server quit without updating PID file'를 보고 열 받아서 터미널을 종료했다. 숨 한번 고른 후 애플 시스템 설정에 들어가서 최하단에 설치가 되어있기는 한 걸 확인했고, root 비밀번호를 재입력했다. 그럼에도 터미널에서는 계속 에러였으나, (무시하고) 워크벤치 재설치까지 하니 어찌저찌 눈웃음 짓는 돌고래 3306포트에 무사히 접속되었다... 낡고 지쳤기에 오늘은 필수미션 먼저 완료하고, 선택 미션은 새벽 한강 다녀와서 도파민 충전 후 마저 작성해야겠다. 

 

 

혼공SQL 3장 맥북 팁

*작업환경은 mac m1 기준

 

TIP 1. MYSQL에 WORLD DB가 없을 때

1. MySQL DOCUMENTATION에서 world database zip 파일 다운로드

2. 워크벤치에 파일 불러오기 (File > OPEN SQL Script)

3. command + A 전체 영역 잡고 command + ENTER (번개)

4. 좌측 SCHEMAS 우클릭, Refresh All

5. world 생성!

 

 

TIP 2. MYSQL Workbench 설정 변경

MySQL 워크벤치에서는 UPDATE, DELETE를 허용하지 않아 설정을 변경해야 한다.

책에서는 윈도우 기준으로 Edit > Preferences 메뉴가 있다고 하지만 맥북에서는 위치가 달라서 작성해둔다.

1. 왼쪽 상단 프로그램 로고 클릭

2. Settings

3. Workbench Preferences

4. 최하단 Safe Updates (rejects UPDATEs and DELETEs with restrictions) 체크박스 해제

5. 종료 후 재실행

 

 

 

2주차 미션

2주차
(7/8 ~ 7/14)
Chapter 03 p. 138의 확인 문제 2번 풀고 인증하기 데이터 입력, 삭제하는 기본 형식 작성하기

미션 1.  확인문제 2번

1. 결과의 정렬을 위한 ORDER BY

  • 오름차순 (숫자 낮은 것부터 1,2,3 ...): ORDER BY + 열 이름 (+ ASC)
  • 내림차순 (숫자 높은 것부터 9,8,7 ...): ORDER BY + 열 이름 + DESC
SELECT*FROM member ORDER BY height;

height를 오름차순으로 정렬해 보여준다.

 

2. 출력의 개수를 제한하는 LIMIT

  • 데이터가 100개 있어도 LIMT 7; 발동하는 순간 7개만 보여줄 수 있다.
  • LIMIT 3, 2; 3번째부터 2개까지만 보여준다는 것을 의미한다.
SELECT*FROM member LIMIT 5,2;

5번째부터 2개의 행만 보여준다.

 

3. 중복된 결과를 제거하는 DISTINCT

  • SELECT DISTINCT + 열 이름 + FROM 데이터
  • 명확한, 조회 결과에서 중복된 것은 1개만 남긴다.
SELECT DISTINCT phone1 FROM member;

phone1 열이 중복된 데이터는 1개만 보여준다.
 

 


미션 2.  입력, 수정, 삭제