728x90 반응형 BE/SQL11 [MariaDB/Mybatis] foreach 사용 동적 쿼리문 📂 foreach 문법 📌Mybatis foreach문 지원 태그 collection : 전달받은 인자. List or Array 형태만 가능item : 전달받은 인자 값을 alias 명으로 대체open : 구문이 시작될때 삽입할 문자열close : 구문이 종료될때 삽입할 문자열separator : 반복 되는 사이에 출력할 문자열index : 반복되는 구문 번호이다. 0부터 순차적으로 증가 📌 동적 쿼리 사용 #{item} 📌 다건 insert INSERT INTO table ( item_id , locale_code , lang_code ) VALUES ✏️ 변수 # : SQL DB 실행 시에 데이터 .. 2025. 4. 28. U-Camp SQL 강의 📒 SQL📕 Oracle DB 설치1. Windows1) 오라클 소프트웨어 설치Database Download Database Express Edition설치파일의 위치에 한글 포함X실행파일을 관리자 권한으로 실행2) 21c Express Edition 접속sqlplus " / as sysdba"3) Oracle User 생성c## + 사용자 이름 으로 생성 (비밀번호 tiger)create user c##scottidentified by tiger;grant dba to c##scott; : 권한 부여connect c##scott/tiger : 접속4) table 생성SQL 실습 스크립트 생성alter session set nls_Date_format='RR/MM/DD';drop table emp;.. 2025. 4. 10. SQL - 혼자 공부하는 SQL 📒 SQL 문법📕 1. SELECT ~ FROM ~ WHERE1) Use문use 데이터베이스 이름;데이터 베이스 지정한 번 지정하면 계속 유지 (MySQL 워크벤치 재시작하거나, 새 쿼리 창을 열면 USE 재지정 해야함)여러 번 수행해도 오류 발생X2) SELECTselect 컬럼명from 테이블명where 조건식group by 컬럼명having 조건식order by 컬럼명limit 시작, 개수;3) WHERE 절조회되는 데이터의 조건 지정where 없이 조회 (테이블의 모든 행 출력)select *from 테이블명 관계 연산자, 논리 연산자 사용BETWEEN ~ ANDIN()LIKE (일부 글자 검색)_ (언더바, 한 글자 검색)4) ORDER BY절결과가 출력되는 순서를 조절asc(오름차순), d.. 2025. 4. 10. SQL - 이것이 MySQL이다 📒 MySQL 설치 및 DB 구축과정 미리 실습하기📕 DBMS/MySQL1. DBMS1) DBMS 개념데이터베이스데이터의 집합 (데이터 저장공간 자체)여러 명의 사용자나 응용 프로그램이 공유하고 동시에 접근이 가능해야 함DBMS데이터베이스를 관리, 운영하는 역할2) 특징데이터의 무결성데이터베이스 안의 데이터에 오류가 있어서는 안됨데이터의 독립성데이터베이스의 크기를 변경하거나 데이터 파일의 저장소를 변경하더라도, 기존에 작성된 응용 프로그램은 영향 받지X서로 의존적 관계가 아닌 독립적인 관계보안데이터베이스 안의 데이터에 아무나 접근하는 것이 아니라 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근 가능사용자의 계정에 따라서 다른 권한을 가짐데이터 중복의 최소화동일한 데이터가 여러 개 중복되어.. 2025. 4. 10. 7. 전체 텍스트 검색과 파티션 📒 전체 텍스트 검색과 파티션📕 1. 전체 텍스트 검색1) 개념긴 문자로 구성된 구조화되지 않은 텍스트 데이터를 빠르게 검색저장된 텍스트의 키워드 기반의 쿼리를 위해 빠른 인덱싱 가능텍스트로 이루어진 문자열 데이터의 내용을 가지고 생성한 인덱스InnoDB와 MyISAM 테이블만 지원char, varchar, text의 열에만 생성 가능인덱스 힌트의 사용이 일부 제한됨여러 개의 열에 FULLTEXT 인덱스 지정# 전체 텍스트 인덱스 생성CREATE FULL TEXT INDEX 인덱스 이름ON 테이블 이름 (열 이름);# 전체 텍스트 인덱스 삭제ALTER TABLE 테이블 이름 DROP INDEX FULLTEXT(열 이름);2) 전체 텍스트 검색을 위한 쿼리전체 텍스트 인덱스를 이용하기 위한 쿼리는 일.. 2025. 4. 9. 6. 스토어드 프로그램 📒 스토어드 프로그램📕 1. 스토어드 프로시저1) 개념어떠한 동작을 일괄 처리하기 위한 쿼리문의 집합DELIMITER $$CREATE PROCEDURE 스토어드 프로시저이름(IN 또는 OUT 파라미터)BEGIN // SQL 프로그래밍 코딩END $$DELIMITER ;CALL 스토어드 프로시저 이름();2) 특징MySQL 성능 향상유지관리 간편모듈식 프로그래밍이 가능함보안 강화 (사용자별로 테이블에 접근 권한이 아니고, 스토어드 프로시저에만 접근 권한을 줌)📕 2. 스토어드 함수1) 개념사용자가 직접 만들어서 사용하는 함수어떤 계산을 통해서 하나의 값을 반환하는데 주로 사용사용 전 SET GLOBAL log_bin_trust_function_creators = 1; 스토어드 함수 생성 권한 허용 필.. 2025. 4. 9. 5. 인덱스 📒 인덱스📕 1. 인덱스의 개념1) 장점검색의 속도 빨라짐해당 쿼리의 부하가 줄어들어서, 시스템 전체 성능 햐앙2) 단점인덱스가 데이터베이스 공간 차지해서 추가적인 공간 필요 (대략 10% 정도)처음 인덱스를 생성하는데 시간이 많이 소요됨데이터 변경 작업이 자주 일어날 경우에는 성능 나빠짐📕 2. 인덱스의 종류와 자동 생성1) 클러스터형 인덱스사전처럼 책의 내용이 순서대로 정렬행 데이터를 인덱스로 지정한 열에 맞춰서 자동 정렬 (오름차순 정렬)PRIMARY KEY로 지정한 열은 클러스터형 인덱스가 생성UNIQUE NOT NULL로 지정한 열은 클러스터형 인덱스 생성특징생성 시 데이터 페이지 전체가 다시 정렬됨인덱스 자체의 리프 페이지가 곧 데이터 (인덱스 자체에 데이터가 포함되어 있음)보조 인덱스보.. 2025. 4. 9. 4. 테이블과 뷰 📒 테이블과 뷰📕 1. 제약 조건1) PRIMARY KEY 제약 조건입력되는 값 중복X, NULL값 X기본 키로 생성한 것은 자동으로 클러스터형 인덱스가 생성됨CREATE TABLE 구문 안에서 기본 키를 지정하면 MySQL이 알아서 설정기본 키는 각 테이블 별로 하나만 존재두 개 이상의 열을 합쳐서 기본 키로 설정 가능# 기본 키 지정CREATE TABLE userTBL( userID CHAR(8) NOT NULL PRIMARY KEY, name VARCHAR(10) NOT NULL, birthYear INT NOT NULL);# 기본 키 이름 지정CREATE TABLE userTBL( userID CHAR(8) NOT NULL, name VARCHAR(10) NOT N.. 2025. 4. 9. 3. SQL 문법 📒 SQL 문법📕 SQL 기본1. SQL 분류1) DML (Data Manipulation Language)데이터 조작 (선택, 삽입, 수정, 삭제)테이블의 행 사용DML을 사용하기 위해서는 그 전에 테이블 정의 필요트랜잭션 발생하는 SQL종류SELECTINSERTUPDATEDELETE2) DDL (Data Definition Language)데이터베이스, 테이블, 뷰, 인덱스 등 데이터베이스 개체를 생성/삭제/변경하는 역할트랜잭션을 발생하지 않음되돌림(ROLLBACK), 완전 적용(COMMIT) 시킬 수 없음실행 즉시 MySQL에 적용됨종류CREATEDROPALTER3) DCL (Data Control Language)사용자에게 어떤 권한을 부여하거나 빼앗을 때 사용종류GRANTREVOKEDENY2.. 2025. 4. 9. 2. MySQL 유틸리티 📒 MySQL 유틸리티📕 데이터베이스 모델링1. 소프트웨어 개발 모델1) 폭포수 모델과정1️⃣ : 프로젝트 계획2️⃣ : 업무 분석3️⃣ : 시스템 설계4️⃣ : 프로그램 구현5️⃣ : 테스트6️⃣ : 유지보수장점각 단계가 명확히 구분되어서 프로젝트의 진행 단계가 명확해짐단점문제가 발생했을 경우에도 앞 단계로 거슬러 올라가기 어려움2. 데이터베이스 모델링개념현 세계에서 사용되는 작업을 DBMS의 데이터베이스 개체로 옮기기 위한 과정현실에서 쓰이는 것을 테이블로 변경하기 위한 과정종류개념적 모델링 (업무 분석 단계)논리적 모델링 (업무 분석 후반 ~ 시스템 설계 전반)물리적 모델링 (시스템 설계 후반)🗒️ 예시공간 낭비되는 L자형 테이블 분리테이블의 중복되는 정보 제거각 행을 구분하는 유일한 값으로 .. 2025. 4. 9. 1. MySQL 설치 📒 MySQL 설치 및 DB 구축과정 미리 실습하기📕 DBMS/MySQL1. DBMS1) DBMS 개념데이터베이스데이터의 집합 (데이터 저장공간 자체)여러 명의 사용자나 응용 프로그램이 공유하고 동시에 접근이 가능해야 함DBMS데이터베이스를 관리, 운영하는 역할2) 특징데이터의 무결성데이터베이스 안의 데이터에 오류가 있어서는 안됨데이터의 독립성데이터베이스의 크기를 변경하거나 데이터 파일의 저장소를 변경하더라도, 기존에 작성된 응용 프로그램은 영향 받지X서로 의존적 관계가 아닌 독립적인 관계보안데이터베이스 안의 데이터에 아무나 접근하는 것이 아니라 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근 가능사용자의 계정에 따라서 다른 권한을 가짐데이터 중복의 최소화동일한 데이터가 여러 개 중복되어.. 2025. 4. 9. 이전 1 다음 728x90 반응형