혼자 공부하는 SQL - 1주차

ki5o·2022년 7월 9일
0

2021년 혼자 공부하는 자바스크립트에 이어 2022에도 혼공단을 신청했습니다~
그리고 네이버 블로그 -> 벨로그로 플랫폼도 바꿔보았어요!

2021 혼공단(7기) : 혼자 공부하는 자바스크립트(네이버 블로그) : https://blog.naver.com/limsoomin0505

초등학교 때 '이것이 C언어다'로 프로그래밍 관련 책을 처음 접했던 것 같은데
어느새 고등학교 2학년이 되어 SQL도 도전해보네요.(‾◡◝)

그동안 따로 'SQL 첫걸음'이라는 책을 보면서 SQL을 공부하기도 했습니다만...
새로운걸 도전하기보다는 기존에 배우던걸 확실하게 해두고 싶어서 SQL을 선택했습니다!
(이건 신청 안하면 징역감이다! ^_^)

그럼 여기서 말을 줄이고 혼자 공부하는 SQL 1주차 열심히 해봅시닷!

1주차

1주차 진도는 이렇게 커리큘럼이 짜여져 있었습니다.

실습에 앞서서 MySQL을 설치해봅시다


1. 프로그램 설치 전 컴퓨터의 사양 및 운영 체제 확인하기

[시작] 버튼을 마우스 오른쪽 버튼으로 클릭하여 [시스템] 선택

1-1.


[정보] 창에서 확인하면 된다고 합니다~...

2. MySQL 다운로드 사이트에 접속 -> 설치하기

책 집필 시점에서는 MySQL Community 8.0.21이 최신 버전이라고 하길래

저도 그 버전으로 받겠습니다!(차이는 많이 없겠지만 혹시ㅠㅠ 몰라서....)

다운이 조금 걸리길래 책을 보는데 '여기서 잠깐'을 보니까
혼공 자료실에 동일한 파일이 있다고 하네요...^_ㅠ
여기서 다운받는게 더 빠를수도? 있겠네요.

그러다 보니 어느새 다운로드가 완료되었습니다!


3. 더블 클릭하여 설치 시작하기
더블 클릭 후 사용자 계정 컨트롤 창이 나타날 때 까지 기다리셔야 합니다...
너무 지루하시면 한숨 주무시고 오시면 되겠습니다.
하도 안나와서 더블 클릭이 옥튜플 클릭이 되었지만 시간이 모든 걸 해결해 줄 것이다...하고 기다렸습니다.

근데 저는 아무리 기다려도 안나오길래 제어판을 확인했습니다.

6월에 실습한다고 설치했던걸 잊어버리고 있었습니다.

4. (진짜)설치 시작하기

기존에 있던 파일들을 전부 삭제하고 다시 설치하니 다행히 잘 나와주었습니다.

그럼 책의 내용을 따라 다운로드 하겠습니다~
Custom(커스텀) 선택
위 세가지 선택

이제 추가 환경 설정을 한다고 합니다

선택 확인하시고...

이 페이지가 보일 때까지 [next] 눌렀습니다.

아래의 것으로 선택합시다.(파이썬연동)

비밀번호를 설정하고(0000 <- 제가 까먹을까봐;;)

이름도 바꿔주었습니다.

[Execute] 선택해서 설정 완료 해주기

[Finish] 눌러쥬세요. 설정 종료~

초록색은 생각보다 더 이쁜 색 같습니다.

Samples and Examples의 설정.❓ 시작하겠습니다let'sgetstartはじめます
[Excute] -> [Finish] 선택해주시면 되겠습니다.

체크 표시 없애고 끝~~

5. MySQL 정상 작동 확인하기

  • 윈도우 시작 버튼 -> 해당 파일에서 마우스 오른쪽 버튼 클릭 -> 자세히 -> 작업 표시줄에 고정
  • 꼭 해야하는 건 아니지만 이제 자주 쓸거니까요.ԅ(¯﹃¯ԅ)

    이제 클릭해서 실행해줍시다.


    비밀번호 입력하고 [OK] 눌러보겠습니다.

    우측 상단 패널을 선택하여 SQL Additions를 없애보았습다. 뭔가 깨끗하게 되었습니다.

    빈 쿼리 창에

    SHOW DATABASES

    입력합시다


    그럼 이렇게 되는데 안보인다면 line 1 바로 위 번개 아이콘을 누르면 됩니다.
    전 책을 보고 하지만 제대로 확인을 안해서 2분정도 헤맸습니다. MZ세대는 난독입니다.

    쿼리 창을 닫고 [File] -> [Exit]을 선택하여 완전히 프로그램을 종료 시킵니다.


    사전 준비가 끝났으니 이제 정말 혼공단 미션을 해보겠습니다.

    80p 미션을 하기 위해서는 또 하나의 준비가 필요합니다.

    테이블 만들기

    입니다.

    [SCHEMAS]에서 마우스 오른쪽 버튼을 눌러 [Create Schema] 선택해줍니다.

    [Apply]를 선택해줍니다.

    테이블 설계하기

    테이블을 설계한다는 것은 테이블의 열 이름, 데이터 형식을 지정하는 것입니다.

    다음은 회원 테이블의 설계입니다.

    열 이름(한글) 영문 이름 데이터 형식 최대 길이 널 허용 안함(Not Null)
    아이디 member_id 문자(CHAR) 8글자 Yes
    회원 이름 member_name 문자(CHAR) 5글자 Yes
    주소 member_addr 문자(CHAR) 20글자 No
    이런 설계를 한다고 해봅시다.

    회원 테이블은 아이디, 회원 이름, 주소 3개 열로 구성하고 각각의 영문 이름도 지정했습니다.
    데이터 형식은 모두 문자로 지정하고 문자는 CHAR라는 MySQL 예약어를 사용했습니다.

    Null은 빈 것을 의미하여 Not Null, NN은 널 허용 안함, 반드시 입력해야 한다는 의미입니다.

    다음은 제품 테이블을 설계합니다.

    열 이름(한글) 영문 이름 데이터 형식 최대 길이 널 허용 안함(Not Null)
    제품 이름(기본 키) product_name 문자(CHAR) 4글자 Yes
    가격 cost 숫자(INT) Yes
    제조일자 make_date 날짜(DATE) No
    제조회사 company 문자(CHAR) 5글자 No
    남은 수량 amount 숫자(INT) Yes
    벨로그에서 table태그는 처음 써보는데 좋네요...
    근데 프로그래밍에 관심없는 사람들이 쓰기에는 어려운 플랫폼이 될 것 같아요...그래서 개발자가 많은 것도 있겠지만...그래서 쓰는 이유지만....

    회원 테이블과 차이점이 있다면 INT가 새로 등장~...
    INT는 소수점이 없는 정수를 의미하고 DATE는 연, 월, 일을 의미합니다.

    테이블 생성하기

    MySQL의 워크벤치에서 생성합니다.


    [shop_db] -> [Table] -> [Create Table] 선택합니다.

    회원 테이블을 만들거니 테이블 이름은 'member'로 합니다.

    [Apply] 두 번 클릭하고 [Finish] 선택합니다

    같은 방법으로 제품 테이블도 만듭니다.

    데이터 입력하기

    테이블 구성이 끝났으니 실제 데이터를 입력해야합니다.
    데이터는 행(가로) 단위로 입력합니다.
    입력하다가 웃겨서 울었을지도 모릅니다.


    회원 테이블의 데이터를 입력하기 위해 [member]-[Select Rows - Limit 1000] 선택합니다.

    아무것도 없습니다.

    테스형에 이어 데이터를 모두 입력해줍니다. 다들 수도권에 사시는군요. 다음 데이터엔 강원도에 사시는 분을 만났으면 좋겠습니다.

    제품 테이블의 데이터도 입력해줍니다. 삼각김밥은 800원인데 2023년에 제조인것을 보니 물가가 내려가길 원하는 제작자의 염원이 느껴지는 것 같습니다.

    수정 및 삭제


    텍사스 사막에 거주하시는 머라이어를 추가하였습니다. 머리아어 캐리 노래는 들어본 적 없어서 유튜브에 머라이아 캐리를 검색했습니다. 올 아이 원 폴 크리스마스를 부르신 분이라고 합니다. 저는 18번의 크리스마스를 머리아와 캐리와 보내왔습니다.

    먹자골목으로 이사해드렸습니다. 미국에서 먹자골목을 번역하면 mukja alley가 될까요 아님 eating alley가 될까요

    삭제는 삭제할 행 맨 앞의 화살표를 선택하고 파란색으로 전체 선택이 되면 마우스 오른쪽 버튼을 눌러 [Delete Row]를 선택합니다.

    데이터 활용하기

    드디어 80p 미션을 해보겠습니다.

    새 SQL을 입력하기 위해 파일 바로 아래 아이콘을 선택합니다.

    SELECT * FROM member;

    을 입력합니다.
    아래에는 소요된 시간도 나오네요. 0.000 sec이면 정말 빠르네요. 저도 저런 빠른 사람이 되어야겠습니다.

    다 지우고

    SELECT member_name, member_addr * FROM member;

    입력합니다. 그러면 회원 테이블에서 이름과 주소만 나오게 됩니다. 굿

    추가로

    SELECT * FROM member WHERE member_name = '아이유';

    입력하면 이름이 아이유인 데이터의 아이디, 이름, 주소(그 행 전체)가 나옵니다.


    선택미션 - 데이터베이스 개체 3가지 설명하기

    02-3에 나와있습니다.
    인덱스 : 데이터를 조회할 때 결과가 나오는 속도를 빠르게 해줍니다.(빠르게 찾기)
    : 데이블의 일부를 제한적으로 표현할 때 주로 사용합니다.(가상의 테이블)
    스토어드 프로시저 : SQL에서 프로그래밍이 가능하게 합니다.(여러 개의 SQL 묶기, 프로그래밍 기능 제공)

    1주차 끝~
    항상 1주차는 열심히 하는 것 같습니다...

    profile
    ki2o

    0개의 댓글