23.02.27 Day21

오윤범·2023년 2월 27일
0

MySQL

  • 설치 ) MySql 검색 - Downloads(공홈) - 하단 MySQL Community Downloads - MySQL Installer for Windows - 두개 중 용량 더 높은걸로 다운 - 다운받은 후 .exe 실행 -
  • custom - mysql server 끝까지 + 해서 mysql server.8.0.32 추가 - Applications - MySQL Workbench 추가 - Shell - MySQL Shell 추가 - MySQL Connectors - Connector - NET , PyThon 추가 - Documentation - Samples and Examples 추가
  • MySQL Server 클릭 후 하단 Enable~ 체크하고 하단에 Advanced Options 클릭 - 경로 두개 다 C:\DEV\Tools\MySQL\MySQL Server 8.0 로 변경
    Workbench, shell, Samples and Examples 도 경로 똑같이 변경해주기 나머지 Connector은 원래대로 놔두기
  • Check Requirements 나오면 하단에 execute 눌러서 다 설치해주고 installation 나오면 execute - Next - Next
  • Type and Networking tcp 번호 3306 확인하고 Next - Authentication Method 에서 밑에 라디오버튼 Use Legacy~ 클릭 - 비밀번호 쉽게 설정 후 Next
  • 나머지는 다 원래대로해서 Next, Execute
  • Server 확인하고자 할 때 window+r / services.msc 로 Mysql80 제대로 돌아가고 있는지 확인 가능
  • Next - 비밀번호 치고 Check - Next,Execute - 계속 finish 하면 cmd창 하나랑 workbench 나옴 - 생성해놓은 mysql 선택하고 비밀번호 입력해서 쿼리문 나오는 창으로 들어감
  • edit - SQL Editor - 하단 safe Updates 체크 해제 -
  • C/DEV/Tools/Mysql/Mysql8.0/bin 들어가서 경로 복사하고 - Win+R-sysdm.cpl-고급 환경변수에다가 - C:\DEV\Tools\MySQL\MySQL Server 8.0\bin 꼴로 하단에 추가해주고 확인

하단은 cmd에서 mysql 사용할 때 방법임. Workbench를 안쓸때

  • cafe.naver.com/thisisMySQL 에서 교재 자료실 - 샘플 데이터베이스 다운로드
  • 샘플 데이터베이스 employees.zip 풀어서 C:\DEV\Tools\MySQL\Samples and Examples 8.0여기다가 복붙
  • employees 의 경로를 복사 (C:\DEV\Tools\MySQL\Samples and Examples 8.0\employees)
  • cmd 켜서 cd C:\DEV\Tools\MySQL\Samples and Examples 8.0\employees 로 복사한 경로로 이동 - mysql -u root -p 명령 엔터 / 비밀번호 12345 입력하여 MySQL에 접속
  • source employees.sql; 명령 엔터

vsc

-vsc에서 실행하고자 하면 익스텐션에서 mysql 검색 후 평점 4짜리 중국인이 만든거 실행해서 내가 원하는 db 가져오면 vsc에서도 사용 가능

아래부터 Workbench

  • sql문 / 스키마 실행하고 싶을 때 Ctrl+Enter / Ctrl+Shift+Enter
  • 스키마 새로고침 해서 employees 들어갔는지 확인
  • 우클릭 - create - name:homeplus - Apply - Apply
  • CREATE DATABASE lotteShopping; --> 입력 시 위와 동일하게 database 생성가능
  • 이후 내용 책 p.61쪽부터 동일했었음
  • +SQL 눌러서 product tbl을 생성하는데 homeplus밑에서 만들기 때문에 homeplus 우클릭 - set as default schema로 설정 - +sql문에서 다음과 같은 형태로 상품 테이블 생성
  • 행 데이터 입력 --> P.64 참조
  • 테이블 생성 시

  • 테이블 접근 / 뷰 생성 / 뷰 조회

Algorithm

  • 25206번 너의 평점은



rating = ['A+', 'A0', 'B+', 'B0', 'C+', 'C0', 'D+', 'D0', 'F']
grade = [4.5, 4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0]

total = 0	# 학점 총합을 담을 변수
result = 0	# (학점 * 과목평점) 총합을 담을 변수
for _ in range(20) :
    s_name, s_score, s_grade = input().split()
    s_score = float(s_score)
    if s_grade != 'P' :	# 등급이 P인 과목은 계산 안함
        total += s_score
        result += s_score * grade[rating.index(s_grade)]

print('%.6f' % (result / total))

1) 등급, 등급별 평점 배열에 저장
2) 학점 총합을 담을 변수, (학점*등급별 평점) 총합을 담을 변수 생성
3) 과목별 학점-> 실수형으로 담는다. 입력이 1.0,2.0... 꼴이기에
4) 문제 제한사항 -> 등급이 P인 과목은 계산 안함 --> if s_grade != 'P'로 간단히 거를 수 있음
5) Pass인 경우는 제외하고 학점 총합, 결과 총합을 담음
--> grade[rating.index(s_grade)] --> s_grade : A+,A0,...P 의 형태로 입력을 받는데 rating.index(s_grade) : s_grade와 같은 값을 갖는 rating 배열의 index값을 반환받고, grade 배열에서 rating.index(s_grade)로 반환받은 index에 해당하는 원소를 뽑아오기 때문에 A+ -> 4.5 , A0 -> 4.0 ... 의 형태로 받아옴

0개의 댓글