반응형

Data Analysis 23

[혼공SQL] 5-3 가상의 테이블: 뷰

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. 뷰의 개념 1.1 뷰의 기본 생성 📌 뷰를 만드는 형식 create view 뷰_이름 as select 문; 📌 뷰에 접근하는 형식 select 열_이름 from 뷰_이름 [where 조건]; 뷰 생성 create view v_member as select mem_id, mem_name, addr from member; 뷰 접근 select * from v_member; -- 필요한 열만 출력, 조건식 추가할 수 있음 select mem_name, addr from v_member where addr in ('서울', '경기'); 1.2 뷰를 사용하는 이유 1) 보안(security)에 도움이 된다. 사용자의 중요한..

[혼공SQL] 5-2 제약조건으로 테이블을 견고하게

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. PRIMARY KEY 제약조건 데이터를 구분할 수 있는 식별자 중복 x NULL 값 입력 x 테이블은 기본 키(PK)를 1개만 가질 수 있음 기본 키(PK)로는 테이블의 특성을 가장 잘 반영하는 열을 선택하는 것이 좋음 1.1 CREATE TABLE 에서 설정하는 기본 키 제약조건 1) 열 이름 뒤에 primary key 를 붙여줌 create table member ( mem_id char(8) not null **primary key**, mem_name varchar(10) not null, height tinyint unsigned null ); 2) 제일 마지막 행에 primary key (mem_id) 추..

[혼공SQL] 5-1 테이블 만들기

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 데이터베이스와 테이블 설계하기 1) 회원테이블(member) 아이디(mem_id) : 기본 키(primary key / PK) 평균 키(height) : TINYINT UNSIGNED → 0~ 255 범위 UNSIGNED 예약어 (4-1 MySQL의 데이터 형식) 2) 구매테이블(buy) 순번(num) : 1, 2, 3, … 자동 입력하도록 설정 아이디(mem_id) : 외래 키(Foreign Key / FK) **AUTO_INCREMENT (**3-3. 데이터 변경을 위한 SQL문) 1. 테이블 생성하기 데이터 베이스 생성 -- 데이터베이스(naver_db) 생성 DROP DATABASE IF EXISTS naver_d..

[혼공SQL] 4-3 SQL 프로그래밍

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 📌 스토어드 프로시저 : MySQL에서 프로그래밍 기능이 필요할 때 사용하는 데이터베이스 개체 DELIMITER $$ CREATE PROCEDURE 스토어드_프로시저_이름() BEGIN 이 부분에 SQL 프로그래밍 코딩 END $$ → 스토어드 프로시저 종료 DELIMITER; → 종료 문자를 다시 세미콜론으로 변경 CALL → 스토어드 프로시저 실행 1. IF문 1.1 IF 문의 기본 형식 조건문으로 가장 많이 사용되는 프로그래밍 문법 중 하나 📌 기본 IF문의 형식 두 문장 이상이 처리되어야 할 때는 BEGIN ~ END로 묶어줘야 한다. IF THEN SQL 문장들 END IF; 📌 예시 DELIMITER $$ --..

[Kaggle] House Prices - Advanced Regression Techniques

대회 : https://www.kaggle.com/competitions/house-prices-advanced-regression-techniques 코드 : https://www.kaggle.com/code/pmarcelino/comprehensive-data-exploration-with-python 목차 1. Import Library & Data 2. Analysing 'SalePrice' 3. SalePrice's relationship 3.1 Relationship with numeric variables 3.2 Relationship with categorical variables 4. SalePrice's Correlation 4.1 Correlation matrix (heatmap st..

[혼공SQL] 4-2 두 테이블을 묶는 조인

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 📌 조인(join)이란? 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것 1. 내부 조인 1.1 일대다 관계 두 테이블의 조인을 위해서는 테이블이 일대다(one to many) 관계로 연결되어야 함 데이터베이스의 테이블은 하나로 구성되는 것보다는 여러 정보를 주제에 따라 분리해서 저장하는 것이 효율적이며 분리된 테이블은 서로 관계를 맺고 있음 1.2 내부 조인의 기본 조인은 3개 이상의 테이블로도 할 수 있지만 대부분 2개로 조인함 SELECT FROM INNER JOIN -- JOIN이라고만 써도 INNER JOIN으로 인식 ON [WHERE 검색 조건] 📌 두 테이블을 내부 조인 USE market_db;..

[혼공SQL] 4-1 MySQL의 데이터 형식

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. 데이터 형식 1.1 정수형 데이터 형식 바이트 수 숫자 범위 TINYINT 1 -128~127 SMALLINT 2 -32,768~32,767 INT 4 약 -21억~+21억 BIGINT 8 약 -900경~+900경 정수형 데이터를 확인하기 위해 테이블을 만들어보자. use market_db; create table hongong4 ( tinyint_col tinyint, smallint_col smallint, int_col int, bigint_col bigint); 각 열의 최댓값을 입력해보자. insert into hongong4 values (127, 32767, 2147483647, 9000000000000..

[혼공SQL] 3-3. 데이터 변경을 위한 SQL문

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. INSERT 1.1 INSERT 문의 기본 문법 테이블에 행 데이터를 입력하는 SQL문 INSERT INTO 테이블[(열1, 열2, ...)] VALUES (값1, 값2, ...) 테이블 이름 다음에 나오는 열 생략 가능 열 생략 시 VALUES 다음에 나오는 값들의 순서 및 개수는 테이블을 정의할 떄의 열 순서 및 개수가 동일해야 함 use market_db; create TABLE hongong1 (toy_id INT, toy_name CHAR(4), age INT); insert into hongong1 values (1, '우디', 25); ‘age’를 입력하고 싶지 않다면 테이블 이름 뒤에 열의 이름 추가해..

[혼공SQL] 3-2. SELECT

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. ORDER BY 절 순서 정렬 기본 값은 ASC (오름차순) select mem_id, mem_name, debut_date from member order by debut_date; DESC 추가하면 내림차순 select mem_id, mem_name, debut_date from member order by debut_date DESC; ORDER BY절은 WHERE 절 다음에 나와야 한다. (그렇지 않으면 오류 발생) select mem_id, mem_name, debut_date, height from member where height >= 164 order by height DESC; 정렬 기준을 여러 개..

[혼공SQL] 3-1. SELECT~FROM~WHERE

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. 실습용 데이터베이스 구축 1.1 데이터베이스 만들기 DROP DATABASE IF EXISTS market_db; -- 만약 market_db가 존재하면 삭제 CREATE DATABASE market_db; -- 다시 market_db 생성 1.2 데이터베이스 지정 USE를 활용하여 현재 사용하는 데이터베이스를 지정 USE market_db; 1.3 테이블 만들기 1.3.1 회원 테이블(member) CREATE TABLE member -- 회원 테이블(member) 생성 ( mem_id CHAR(8) NOT NULL PRIMARY KEY, -- 사용자 아이디(문자열 8자 / null값 x / PK) mem_name..

반응형