코딩독학 29

[SQL 기초] UPPER / LOWER / 숫자 함수

https://youtu.be/VtVccm2adlY 위 강의를 보고 실습하면서 정리한 내용입니다. UPPER / LOWER 문자를 대문자 / 소문자로 바꿔주는 함수 SELECT UPPER('CodeLion'); SELECT LOWER('CodeLion'); [실습] # 멤버 테이블에서 대소문자를 구분하지 않고 아이디가 'CodeLion'인 회원 조회 SELECT * FROM MEMBER WHERE ID = UPPER('CodeLion'); 숫자 함수 숫자 데이터를 조작하는 함수 [실습] # 소수점 반올림 SELECT ROUND(3.16); # 출력값: 3 SELECT ROUND(3.67); # 출력값: 4 SELECT ROUND(3.16, 1); # 출력값: 3.2 # 소수점 버림 SELECT TRUNC..

[SQL 기초] 날짜함수 / REPLACE / SUBSTR

https://youtu.be/Sk-g7m4YBhI 위 강의를 보고 실습하면서 정리한 내용입니다. 날짜함수 날짜 데이터를 조작하는 함수 현재 날짜와 시간을 조회 SELECT NOW(); 현재 날짜로부터 3달 후 날짜 출력 SELECT DATE_ADD(NOW(), INTERVAL 3 MONTH); 현재 날짜로부터 3달 전 날짜 출력 SELECT DATE_SUB(NOW(), INTERVAL 3 MONTH); 현재 날짜만 조회 SELECT CURDATE(); 현재 시간만 조회 SELECT CURTIME(); 날짜 포맷 변경 SELECT DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'); # %H는 시간을 24시간 단위로 표기, %I는 시간을 12시간 단위로 표기 SELECT DATE_FORMAT(..

[SQL 기초] INNER JOIN / OUTER JOIN

https://youtu.be/D81QWILZTTE 위 강의를 보고 실습하면서 정리한 내용입니다. INNER JOIN JOIN: 여러 개의 테이블을 연결한다 JOIN 연결하는 방식에 따라 INNER JOIN과 OUTER JOIN으로 나뉘어진다 JOIN을 할 때는 컬럼 앞에 이 컬럼이 어느 테이블에 속한 컬럼인지를 명시해 주기 위해서 '테이블명.컬렁명'으로 작성해야 하는데, 매번 작성하기 길기 때문에 각 테이블에 ALIAS를 써서 간단하게 표기해준다 JOIN에 다른 조건을 추가하고 싶다면 WHERE 밑에 AND로 연결해서 작성한다. INNER JOIN은 두 테이블에 공통적으로 존재하는 데이터여야 출력이 된다 JOIN의 관계는 1:1이 될 수도 있고, 1:N이 될 수도 있고 N:1이 될 수도 있다 [실습] ..

[SQL 기초] ORDER BY / GROUP BY

https://youtu.be/5YGGWn_SqoA 위 강의를 보고 실습하면서 정리한 내용입니다. ORDER BY 데이터를 정렬시킨다. ASC는 ORDER BY의 기본 옵션이므로 생략해도 무방하다 [실습] #REG_DATE 컬럼 기준으로 오름차순 정렬 SELECT * FROM NETFLIX ORDER BY REG_DATE ASC; #REG_DATE 컬럼 기준으로 내림차순 정렬 SELECT * FROM NETFLIX ORDER BY REG_DATE DESC; #CATEGORY별로 VIEW_CNT 컬럼 기준으로 내림차순 정렬 SELECT * FROM NETFLIX ORDER BY CATEGORY, VIEW_CNT DESC; GROUP BY 데이터를 그룹으로 묶는다 보통 그룹별로 집계하기 위해 사용한다 [실습..

[SQL 기초] SELECT / WHERE

https://youtu.be/7MfXUvobZPc 위 강의를 보고 실습하면서 정리한 내용입니다. SELECT 데이터를 조회하는 쿼리 - 원하는 테이블에서 필요한 데이터들을 얼마나 빠르게 골라내느냐 SELECT 뒤에 반드시 하나 이상의 컬럼명을 기재해야 한다 전체 컬럼 조회 SELECT * FROM NETFLIX n ; 특정 컬럼 조회 SELECT VIDEO_NAME, CATEGORY, VIEW_CNT FROM NETFLIX n ; 조건 조회 (1) VIDEO_NAME이 나의 아저씨인 경우 SELECT * FROM NETFLIX n WHERE VIDEO_NAME = '나의 아저씨'; (2) VIDEO_NAME이 나의 아저씨가 아닌 경우 SELECT * FROM NETFLIX n WHERE VIDEO_NA..

[SQL 기초] INSERT / UPDATE / DELETE

https://youtu.be/8gfiXbAsBko 위 강의를 보고 실습하면서 정리한 내용입니다. INSERT 테이블에 데이터를 삽입한다 (쿼리 수행 시, 데이터가 한 로우씩 테이블에 입력된다) INSERT 문은 쿼리를 수행하고 나서 COMMIT 작업을 별도로 수행해주어야 한다 (COMMIT;) ROLLBACK: INSERT 했던 작업을 취소하는 행위 [MySQL 오토커밋(AutoCommit) 해제 방법] Edit - Preferences - SQL Editor - SQL Execution\ New connections use auto commit mode 체크박스 해제 [실습] SELECT * FROM NETFLIX n ; INSERT INTO NETFLIX VALUES ('나의 아저씨', '드라마',..

[SQL 기초] ALTER / DROP / TRUNCATE

https://youtu.be/fE0e4VqnxEc 위 강의를 보고 실습하면서 정리한 내용입니다. ALTER 기존에 생성한 테이블을 변경하고 싶을 때 사용하는 명령어 ADD COLUMN: 컬럼을 추가한다 DROP COLUMN: 컬럼을 삭제한다 MODIFY COLUMN: 컬럼을 변경한다 되도록이면 테이블에 변경을 가하지 않고 초기 형태를 유지하는 것이 가장 바람직하나, 불가피하게 변경이 필요한 경우 ALTER 명령어 사용 [실습] SELECT * FROM NETFLIX ; ALTER TABLE NETFLIX ADD (CAST_MEMBER VARCHAR(20)); ALTER TABLE NETFLIX MODIFY (CAST_MEMBER NUMBER(2)); ALTER TABLE NETFLIX MODIFY (C..

[SQL 기초] DATABASE / TABLE / CREATE

다른 강의로 SQL 공부 재시작...! https://youtu.be/xTWb9FzvU0Q 위 강의를 보고 실습하면서 정리한 내용입니다. 데이터베이스란? 데이터베이스: 데이터를 저장하는 공간 SQL: 데이터를 다루는 데 사용되는 언어 테이블이란? 데이터베이스 안에 데이터를 저장할 때 테이블 형태로 저장한다. 테이블은 COLUMN(열)과 ROW(행)으로 이루어진다. CREATE 엑셀에서 표를 만들 때 맨 위에 헤더값을 입력하는 것처럼 테이블도 처음 생성할 때 어떤 컬럼으로 구성할 것인지 정해주어야 한다. 텍스트: VARCHAR 숫자: INT 날짜: DATE [초급] CREATE 테이블명 ( 컬럼1 데이터 타입(SIZE), 컬럼2 데이터 타입(SIZE), .... ); [중급] CREATE 테이블명 ( 컬럼..

[SQL 기초] 2. 테이블 생성하기

1. CSV 파일로 테이블 생성하기 엑셀 파일 → CSV 파일 → 테이블 Table Data Import Wizard Field Separator(컬럼 구분자) 부분의 기호를 원하는 기호로 변경 필요 - CSV 파일은 ,(콤마) Data Type 맞춰주기 - int: 정수형, text: 문자열형, double: 실수형, date: 날짜 CSV: Comma Separated Values 2. Primary Key primary key(기본키): 테이블에서 하나의 row를 고유하게 식별할 수 있도록 해주는 column (id) primary key 설정: 해당 column PK 체크 - Apply Natural Key: 실제로 어떤 개체가 갖고 있는 속성을 나타내는 컬럼을 Primary Key로 설정한 경우..

[Python 기초] 문제 11. 고급 단어장

문제 random 모듈과 사전(dictionary)을 이용해서 vocabulary.txt의 단어들을 랜덤한 순서로 내도록 프로그램을 바꿔 보세요. 같은 단어를 여러번 물어봐도 괜찮고, 프로그램은 사용자가 알파벳 q를 입력할 때까지 계속 실행됩니다. 힌트 우선 vocabulary.txt 파일을 읽고, 파이썬 사전을 채워 넣어야 한다. 영어 단어 목록을 받아오려면 파이썬 사전의 keys를 사용하면 된다. random 모듈의 randint 함수를 이용해서 랜덤한 인덱스를 받는다. 그 랜덤한 인덱스를 통해 vocab.keys() 리스트에서 단어를 받는다. 답안 import random # 사전 만들기 vocab = {} with open('vocabulary.txt', 'r') as f: for line in ..