반응형

분류 전체보기 288

[MySQL] DATETIME 원하는 유형으로 변경 (YYMMDD)

MySQL에서 DATETIME 타입은 YYYY-MM-DD hh:mm:ss 와 같은 형식으로 반환한다. Mysql 공식 문서 12.7 Date and Time Functions 실제로 이걸 이대로 쓴적은 한번도 없는거 같다. 그래서 필요에 따라서 YYYY-MM-DD까지만 짤라서 쓰거나 시분초가 필요없을때는 처음부터 타입을 DATE형으로 지정할때도 있다. DATETIME타입은 YYYY-MM-DD hh:mm:ss 의 형식을 가진다. 반면 DATE타입은 YYYY-MM-DD 의 형식을 가지며 DATE_FORMAT으로 %Y-%m-%d %h:%m:%s 형식을 지정하면 시분초값은 0으로 채워지게된다. FORMAT설명 %M Month 월(Janeary, February ...) %m Month 월(01, 02, 03 ...

DB/MySQL 2022.04.01

[MySQL] Trigger 사용법 / 특정 테이블 변경 시 관련 테이블 이벤트 실행

Trigger란? 위 뜻 들의 공통점은 특정한 원인이 있으면 특정한 결과를 만들어낸다는 것 (총은 위협할 대상이 있으면 방아쇠를 당긴다, 도화선은 불을 붙이면 터진다, 촉발시키다는 어떤 자극 주어 어떤 결과를 만든다) MySQL에서의 Tirrger 동작 또한 다르지 않습니다, 특정 동작(원인)이 있으면 특정 결과를 만들어냅니다. 하나의 SQL 동작을 함과 동시에 그에 맞춰 또 다른 동작을 처리하는 장치라고 할 수 있습니다. 주로 INSERT, UPDATE, DELETE 동작에 쓰입니다. Trigger는 지정된 테이블의 변경을 감지하여 INSERT / UPDATE / DELETE 이벤트가 일어났을 때 설정한 이벤트를 실행하도록 합니다. A테이블의 어떤 row의 name 필드의 값이 UPDATE 되면 B테이..

DB/MySQL 2022.04.01

[정보처리산업기사] 86강 쿼리 성능 최적화

1.쿼리 성능 최적화 개요 데이터 입출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것 쿼리 성능 최적화 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정 APM(Application Performanc Management/Monitoring) : 애플리케이션의 성능 관리를 위해 접속자, 자원 현황, 트랜잭셩 수행 내역, 장애 진단 등 다양한 모니터링 기능을 제공하는 도구 최적화 대상 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스 재구성 2. 옵티마이저(Optimizer) 옵티마이저는 작성된 sql이 가장 효율적으로 수행되도록 최적의 경로를 찾아 주는 모듈이다. 옵티마이저 종류 RBO(rule based optimizer) CBO(cost base..

[정보처리산업기사] 85강 프로시저(Procedure)

1. 프로시저 개요 절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. cf) 절차형 SQL : DB에서 연속적인 실행, 분기, 반복 등의 제어가 가능한 SQL 프로시저를 만들어 DB에 저장하면 여러 프로그램에서 호출하여 사용할 수 있다. 프로시저는 DB에 저장되어 수행되기 때문에 Stored Procedure라고 부른다. 프로시저는 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용된다. 프로시저 구성도 DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부 BEGIN/END : 프로시저의 시작과 종료를 의미 CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리 SQL : DML, D..

[정보처리산업기사] 84강 절차형 SQL

1. 절차형 SQL의 개요 절차형 sql은 c, java 등의 프로그래밍 언어와 같이 연속적인 실행이나, 분기, 반복 등의 제어가 가능한 sql을 의미한다. 절차형 sql은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 sql문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다. 절차형 sql은 dbms 엔진에서 직접 실행되기 때문에 입/출력 패킷이 적은 편이다. begin ~ end 형식으로 작성되는 블록 구조로 되어 있기 때문에 기능별 모듈화가 가능하다. 절차형 sql의 종류 프로시저(procedure) : 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 sql작업을 수행한다. 트리거(trigger) : 데이터 입력, 갱신, 삭제 등의 이벤트가 ..

[정보처리산업기사] 83강 DML - JOIN

1. JOIN의 개념 JOIN(조인)은 2개의 테이블에 대해 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다. 크게 INNER JOIN과 OUTER JOIN으로 구분된다. JOIN은 일반적으로 FROM 절에 기술하지만, 릴레이션이 사용되는 어디에나 사용할 수 있다. 사용 형식과 의미 UNION 구조가 동일한 두 테이블을 통합할 땐 UNION을 사용한다. 중복된 행은 한 번만 출력 UNION ALL 구조가 동일한 두 테이블을 통합한 후 중복된 행도 그대로 출력한다 INTERSECT 두 SELECT 문의 조회 결과 중 공통된 행만 출력한다 EXCEPT 첫 번째 SELECT문의 결과에서 두 번째 SELECT 문의 조회 결과를 제외한 행을 출력한다 JOIN 2개 테이블에 대해 연관된 튜플을 결합하여..

[정보처리산업기사] 82강 SELECT - 2

1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...] FROM 테이블명[, 테이블명, ...][, WINDOW 함수 OVER (PARTITION BY 속성명1, ... ORDER BY 속성명2) [AS 별칭]] [WHERE 조건] [GROUP BY 속성명, 속섬영, ..] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복 튜플 존재 시 한개만 제거하지만 튜플 전체를 대상으로 함 속성..

[정보처리산업기사] 81강 SELECT - 1

1. 일반 형식 SELECT는 테이블에서 튜플을 검색 표기방법 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, ...] FROM 테이블명[, 테이블명, ...][, WINDOW 함수 OVER (PARTITION BY 속성명1, ... ORDER BY 속성명2) [AS 별칭]] [WHERE 조건] [GROUP BY 속성명, 속섬영, ..] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ALL : 모든 튜플 검색할 때 지정, 생략 가능 DISTINCT : 중복 튜플 존재 시 한개만 검색 DISTINCTROW : 중복 튜플 존재 시 한개만 제거하지만 튜플 전체를 대상으로 함 속성..

[정보처리산업기사] 80강 DML

1. DML의 개념 DML(데이터 조작어)는 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 관리하는 데 사용하는 언어 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다. 2. INSERT INTO (삽입문) 테이블에 새로운 튜플을 삽입 명령어 표기법 INSERT INTO 테이블명([속성명1, 속성명2, ...]) VALUES (데이터1, 데이터2, ...) //사원 테이블에 (이름 - 김이박, 부서 - 개발)을 삽입하는 SQL문 INSERT INTO 사원(이름, 부서) VALUE(김이박, 개발); //사원 테이블에 있는 개발의 모든 튜플을 개발 부원(이름, 생일) 테이블에 삽입하는 SQL문 INSERT INTO 개발부원(이름, 주소) SELECT 이름, 주소..

[정보처리산업기사] 79강 DCL

1. DCL(Data Control Language)의 개념 DCL(데이터 제어어)는 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어 DCL은 DBA가 데이터 관리 목적으로 사용 2. GRANT/REVOKE 데이터베이스 관리자가 사용자에게 권한 부여 혹은 취소하기 위한 명령어 GRANT 데이터베이스 관리자가 사용자에게 권한 부여 REVOKE 데이터베이스 관리자가 사용자에게 권한 취소 사용자 등급 지정 및 해제 표기법 GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호]; REVOKE 사용자등급 FROM 사용자_ID_리스트 // 사용자 ID가 '테스트' 인 사람에게 데이터베이스 및 테이블 생성 권한 부여 SQL GRANT RESOURCE TO 테스트 /..

반응형