Contents 1. 배경 DB의 특정 테이블에 대해, 특정 동작을 원하는 주기마다 실행시키고 싶은 경우가 있습니다. 예를 들어, send_mail_volume이라는 테이블에서 특정 컬럼을 매일 12:00 AM에 0으로 초기화하고 싶은 경우에, Event를 등록하여 쉽게 처리할 수 있습니다. 2. 예시와 함께 설명 1) 이벤트 스케쥴러 켜기 SET GLOBAL event_scheduler = ON; 이벤트 스케쥴러는 보통 디폴트로 꺼져있는 경우가 많기 때문에 따로 켜줍니다. * 출력 2) 이벤트 스케쥴러 켜졌는지 확인 SHOW VARIABLES WHERE variable_name = 'event_scheduler'; 이벤트 스케쥴러가 정상적으로 켜져 있는지 확인합니다. Value 칼럼에 ON이라고 쓰여있..
DISTINCT란 중복제거 키워드입니다. SELECT로 DB에서 컬럼을 조회할 때, 중복되는 값을 제거하고 조회할 때 사용합니다. 즉, DISTINCT 키워드를 붙인 필드(컬럼)는 중복 값을 합쳐 한 번만 출력합니다. Contents 1. 기본 형태 -- 테이블에서 필드에 대해 중복제외하여 출력 SELECT DISTINCT 필드 FROM 테이블 2. 예시 아래와 같이 name(도시이름)컬럼과 region(지역이름)컬럼에 중복이 있는 테이블이 있습니다. 1) 기초 사용법 -- tCity 테이블에서 region컬럼에 대해 중복 제거하여 출력 SELECT DISTINCT region FROM tCity; 2) DISTINCT 키워드 뒤에 2개 이상 컬럼 사용 DISTINCT 뒤에 2개 이상의 컬럼을 사용하면,..
SELECT 쿼리문에서 별 지정이 없을 경우, 레코드(행)의 출력 순서는 DBMS의 디폴트 순서에 따릅니다. 오라클은 입력 순서대로 출력하고, SQL Server와 MariaDB는 기본키에 대해 오름차순으로 출력합니다. ORDER BY를 이용하면 DataBase에 대해 정렬 순서를 원하는 대로 지정할 수 있습니다. Contents 1. 기본 형태 -- ORDER BY는 SELECT문과 함께 쓰입니다. -- ASC : 오름차순(default), DESC : 내림차순 SELECT 필드목록 FROM 테이블 ORDER BY 필드 [ASC | DESC] 2. 예시 1) 기본 예시 -- popu(인구) 기준으로 오름차순 정렬 -- (오름차순이 default 이기 때문에, 아래 두 쿼리문은 동치) SELECT * F..
SELECT문은 데이터베이스(DB) 테이블의 데이터를 읽어 출력하는데, 이 동작을 조회라고 합니다. 테이블을 조회하는 것은 가장 기본적인 동작이며, SELECT 문은 모든 SQL 명령 중 사용 빈도가 압도적으로 가장 높습니다. Contents 1. SELECT (조회) 1) 기본 형태 -- 테이블에서 필드목록 조회 SELECT 필드목록 FROM 테이블 2) 예시 -- tCity라는 테이블에서 모든 필드(*) 조회 SELECT * FROM tCity; -- tCity라는 테이블에서 name, popu 컬럼 조회 SELECT name, popu FROM tCity; 2. WHERE (조건문) 1) 기본 형태 -- 테이블에서 조건에 맞는 경우에 대해, 필드목록 조회 SELECT 필드목록 FROM 테이블 WHE..
Contents 1. MariaDB AB사의 핵심 창업자 중 한 명이었던 몬티 와이드니어스가 오라클의 정책에 반발하여 2009년 동료들과 나와 MySQL코드를 기반으로 개발한 오픈소스 RDBMS입니다. MySQL과 소스코드가 같으므로 명령어, 사용방법과 구조가 MySQL과 동일합니다. 2. MySQL vs MariaDB 리눅스(linux)에서는 MySQL 대신에 MariaDB를 표준으로 채택하고 있습니다. 1) MariaDB의 성능 MariaDB는 MySQL에 비해 애플리케이션 부분 속도가 약 4~5천 배 정도 빠르며, MySQL의 기능을 완벽히 구현하면서도 성능 면에서는 최고 70%의 향상을 보이고 있다고 주장합니다. 2) 저장 엔진 마리아 DB에는 새로운 저장 엔진인 아리아(Aria)뿐만 아니라, I..
Contents SQL 이란? SQL(Structured Query Language, 구조적 질의 언어)은 관계형 데이터베이스 시스템(RDBMS)을 제어하는 컴퓨터 언어입니다. 일반적인 프로그래밍 언어(범용 언어)와 달리 대화식 언어이기 때문에, 명령문이 짧고 간결합니다. SQL 자체는 범용 언어에 비해 한계가 있기 때문에, 단독으로 사용하기 보단 C#, Java, Python, PHP와 같은 고수준 언어와 함께 쓰는 것이 일반적입니다. SQL 쿼리 문의 분류 SQL 쿼리문은 역할에 따라 3가지로 분류되며 아래와 같습니다. DDL(Data Definition Language, 데이터 정의어) DB 오브젝트를 생성, 삭제, 변경하는 역할을 하며, DB 설계 단계에서 주로 사용됩니다. (CREATE, DRO..
Contents 데이터베이스란? 데이터베이스는 여러 사람이 공유하여 사용할 목적으로 체계화하여 관리되는 데이터의 집합을 의미합니다. 쉽게 말해, 데이터의 모음입니다. 일반적으로 데이터베이스는 DBMS에 의해 제어됩니다. 데이터베이스를 사용하는 이유 데이터 공유 : 여러 명이 데이터를 동시에 공유하더라도, 안정성과 정확성을 갖출 수 있습니다. 데이터 중복 최소화 : 하나의 데이터베이스에 여러 테이블을 나누어 데이터 중복을 최소화하여 관리할 수 있습니다. 지속성 : 데이터가 여러 군데에 산재해 있으면, 동시에 관리하기 어렵고, 무결성 유지도 어렵습니다. 데이터베이스는 DBMS에 의해 중앙집중적으로 관리되어 동시에 관리하며 무결성 유지가 용이합니다. 보안성 : DBMS에 의해 중앙집중적으로 관리되기 때문에 한..