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 ... 의 형태로 받아옴