반응형

SQL 28

[혼공SQL] 6-1 인덱스 개념을 파악하자

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. 인덱스 1.1 인덱스의 장점과 단점 장점 SELECT 문으로 검색하는 속도가 매우 빨라짐 컴퓨터의 부담이 줄어들어 전체 시스템의 성능이 향상됨 단점 데이터베이스 안에 추가적인 공간이 필요함 처음 인덱스를 만드는 데 시간이 오래 걸림 인덱스는 잘 사용하면 SELECT의 검색 속도가 빨라지지만, 잘못 사용하면 오히려 성능이 나빠짐 2. 인덱스의 종류 클러스터형 인덱스 (Clustered Index) → 영어사전 보조 인덱스 (Secondary Index) → 찾아보기 2.1 클러스터형 인덱스 📌 자동 생성됨 기본 키로 지정하면 자동으로 클러스터형 인덱스 가 생성됨 (기본 키는 테이블에 하나만 지정할 수 있으므로 클러스터..

[혼공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..

[MySQL 코딩테스트 연습] 2. JOIN (2) 있었는데요 없었습니다

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조..

[MySQL 코딩테스트 연습] 2. JOIN (1) 없어진 기록 찾기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조..

[MySQL 코딩테스트 연습] 1. SELECT (7) 상위 n개 레코드

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요. 예시 예를 들어 ANIMAL_INS 테이블..

[MySQL 코딩테스트 연습] 1. SELECT (6) 여러 기준으로 정렬하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 ..

[MySQL 코딩테스트 연습] 1. SELECT (5) 동물의 아이디와 이름

코딩테스트 연습 - 동물의 아이디와 이름 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름..

[MySQL 코딩테스트 연습] 1. SELECT (4) 어린 동물찾기

코딩테스트 연습 - 어린 동물 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성..

반응형