mysql 9

0. DBeaver 설치

Eclipse에서 Spring Boot 사용 게시글 참고 https://pakms980319.tistory.com/84 이전에 만들었던 Spring Boot 프로젝트에서 애플리케이션 시작을 담당하는 *Application.java 파일을 실행해보면 DB를 설정하지 않아 실행 에러가 발생한다. MySQL을 설치했다면 이후 DBeaver 설치를 진행한다. DBeaver SQL 클라이언트이자 데이터베이스 관리 도구이다. 관계형 DBMS, NoSQL 등 여러 DBMS를 통합으로 관리 할 수 있다. 이클립스 플러그인 구조 기반의 플러그인 아키텍처를 제공함으로써 데이터베이스에 특화된 기능이나 데이터베이스에 독립적인 기능등을 제공한다. 자동 완성과 구문 강조등 여러 기능이 있는 편집기를 제공한다. 1. DBeaver..

JPA/기초 공부 2024.02.16

11. Spring Boot

Spring Boot 스프링으로 애플리케이션을 만들 때 필요한 설정을 간편하게 처리해주는 별도의 프레임워크 스프링 부트를 사용하면 기존에 어려운 초기 설정에 쏟아야 했을 시간과 노력을 절약하여 비즈니스 로직을 구현하는데 집중할 수 있다. 자체적인 웹 서버를 내장하고 있어, 빠르고 간편하게 배포할 수 있다. Jar 파일로 프로젝트를 빌드할 수 있어, 가상화 환경에 빠르게 배포할 수 있다. 1. Eclipse에서 Spring Boot 사용하기 1) STS 설치 STS(Spring Tool Suite)란 Eclipse에 스프링 프레임워크 사용을 도와주는 플러그인이 장착된 IDE이다 한 마디로 스프링 프레임워크 플러그인이 미리 설치되어 있는 이클립스이다 24년 2월 기준, STS4가 최신의 스프링 부트 버전을 ..

JPA/기초 공부 2024.02.16

0. Trigger

TRIGGER 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업 데이터 조작 언어(DML)의 데이터 상태의 관리를 자동화하는 데 사용된다. 데이터 작업 제한, 작업 기록, 변경 작업 감사 등을 할 수 있다. 1. 트리거의 목적 일반적으로 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 자동적으로 실행시키는 데 목적이 있다. 데이터 무결성 유지 및 로그 메시지 출력 등의 별도 처리를 위해 사용되기도 한다. 데이터 무결성이란? 데이터베이스에 저장된 데이터 값과 그것이 표현하는 실제 값이 일치하는 정확성을 의미한다. 2. 트리거의 구성 DELIMITER $$ CREAT TRIGGER TRIGGER_NAME [ AFTER / BEFORE ] [ INSERT / UPDATE / DELETE ] ON..

DBMS/공부 2024.02.08

0. TRANSACTION

TRANSACTION 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 이련의 연산들을 의미한다. 1. 트랜잭션의 특징 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다. 하나의 트랜잭션은 Commit되거나 Rollback 된다. 예시 INSERT INTO TBL_NAME VALUES (...) 해당 쿼리문이 실행되어 Commit되는 과정이 상태 변환 과정이다. INSERT INTO ~ AUTO COMMIT INSERT INTO ~ AUTO COMMIT UPDATE ~ AUTO COMMIT FAIL 이때, 쿼리문 ..

DBMS/공부 2024.02.08

0. STORED PROCEDURE

STORED PROCEDURE(저장 프로시저) DB 내부에 저장된 일련의 SQL 명령문들을 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. 즉, DB에 대한 작업을 정리한 절차를 RDBMS에 저장한 쿼리의 집합이다. SQL Server에서 제공되는 프로그래밍 기능이다 어떠한 동작을 일괄 처리하기 위한 용도로 사용한다 자주 사용되는 일반적인 쿼리를 모듈화시켜서 필요할 때마다 호출한다 테이블처럼 각 데이터베이스 내부에 저장한다 1. STORED PROCEDURE 사용법 1) PROCEDURE 정의 DELIMITER $$ CREATE PROCEDURE (PROCEDURE NAME) (PARAM) BEGIN ... END $$ DELIMITER ; DECLARE 변수명 변수타입을 통해 변수 선언 가능 SET 변..

DBMS/공부 2024.02.07

0. PIVOT

PIVOT 행을 열로 변환할 때 사용하는 기법 (테이블의 회전) 문제 1) BuyTBL 테이블의 prodName을 이용하여 유저 별 각 상품 구매 횟수를 조사하는 피벗 테이블을 만들어라 유저 별 상품 구매 횟수를 구해야 하므로 GROUP BY로 userID를 grouping 하였다 2) BuyTBL 테이블의 groupName을 이용하여 유저 별 각 상품 그룹의 구매 횟수를 조사하는 피벗 테이블을 만들어라 3) UserTBL 테이블의 addr을 이용하여 지역별 거주 인원을 조사하는 피벗 테이블을 만들어라 에러 1. SUM(IF(TEST=NULL, 1, 0)) TEST=NULL일 경우에 대한 조건문이 제대로 실행되지 않았다. 해결: TEST=NULL을 TEST IS NULL로 바꿔 작성하였다. 출처 http..

DBMS/공부 2024.02.07

6. 명령어 (show, use, desc)

1. SHOW SHOW 명령어는 데이터베이스 서버의 정보를 조회하는 데 사용된다. 예를 들어 데이터베이스 목록, 테이블 목록 등을 표시할 수 있다. 1) SHOW DATABASES; 데이터베이스 목록을 출력한다. 2) SHOW TABLES; 현재 선택한 데이터베이스의 테이블 목록을 출력한다. 2. USE USE 명령어는 특정 데이터베이스를 선택하여 현재 작업 대상으로 설정하는 데 사용된다. 선택된 데이터베이스에서 실행되는 모든 쿼리는 이 데이터베이스에 영향을 미친다. 1) USE DATABASE_NAME 3. DESC DESC 명령어는 테이블의 구조(스키마)를 표시하는 데 사용된다. 테이블의 각 열에 대한 정보(이름, 데이터, 유형, 길이 등)를 확인할 수 있다. 1) DESC TABLE_NAME

DBMS/공부 2024.01.23

5. MySQL 환경 변수 등록하기

CLI 환경에서 MySQL을 실행하기 위해 환경 변수 등록하기 설정 환경 Window10 64bit 1) 시스템 환경 변수 편집 2) 시스템 환경 변수 추가 3) 명령 프롬프트 시작 mysql -u root -p 입력 후 비밀번호 입력 4) CLI 환경에서 MySQL 실행 완료 기타) MySQL 실행 명령어 mysql -u 사용자이름 -p -h 로스트주소 옵션 설명 -u 사용자(User)를 지정하여 MySQL에 접속 -p 비밀번호를 입력할 것을 나타냄 -h 호스트(Host)를 지정한다. 옵션 생략 시 localhost로 접속한다.

DBMS/공부 2024.01.23

4. 명령어의 종류 (DML, DDL, DCL)

사용 DBMS - MySQL 명령어의 종류 명령어 설명 데이터 조작어 (DML: Data Manipulation Language) SELECT 데이터를 조회, 삽입, 수정, 삭제 하기 위해 사용되는 명령어 INSERT UPDATE DELETE 데이터 정의어 (DDL: Data Definition Language) CREATE 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성, 변경, 수정, 삭제하는 명령어 ALTER DROP 데이터 제어어 (DCL: Data Control Language) GRANT 데이터베이스 사용자에게 특정 권한을 부여하는 명령어 REVOKE 데이터베이스 사용자로부터 특정 권한을 취소하거나 회수하는 명령어 출처) https://brownbears.tistory.com/180 [DB..

DBMS/공부 2024.01.23