본문 바로가기

웹 개발/DBMS

(13)
[Web_DBMS_MySQL] 01 ● MySQL - 웹 사이트와 다양한 애플리케이션에서 사용되는 DBMS이다. - 오라클은 관리 비용이 고가이지만 MySQL은 저가형 데이터베이스이다. - 문법이 간결하고 쉬우며, 메모리 사용량이 현저히 낮아서 부담없이 사용 가능하다. ● MySQL 설치 httpsdev.mysql.comdownloadswindowsinstaller8.0.html (mysql-installer-community-8.0.28.0.msi, 435.7M) 다운로드 ● MySQL 드라이버 다운로드 https://dev.mysql.com/downloads/connector/j/ ● MySQL 기초문법 1. 데이터베이스 생성 create database [데이터베이스명] 2. 사용할 데이터베이스 선택 use [데이터베이스명] 3. C..
[Web_DBMS] 12 ● VIEW - 기존의 테이블은 그대로 놔둔 채 필요한 컬럼들 및 새로운 컬럼을 만든 가상 테이블 - 실제 데이터가 저장되는 것은 아니지만 VIEW를 통해서 데이터를 관리할 수 있다. 1. 독립성 - 다른 곳에서 접근하지 못하도록 하는 성질 2. 편리성 - 긴 쿼리문을 짧게 만드는 성질 3. 보안성 - 기존의 쿼리문이 보이지 않는다. ● VIEW 문법 CREATE VIEW VIEW이름 AS 쿼리문; ● 시퀀스 - 원하는 시작점을 설정할 수 있고, N씩 증가하는 값이다. - 기본 시작점은 1이고, 기본 증가량은 1이다. - 시퀀스명.NEXTVAL : 다음 시퀀스를 가져올 때 실습(DCL) 1. HR 계정의 DEPT 테이블을 새로 만든 계정으로 복사, 복사한 테이블에서 LOC별 평균 급여 검색 ※ 쿼리 작성..
[Web_DBMS] 11 ● SUBSTR() 1. SUBSTR(컬럼명, 시작번호, 길이) - 시작 번호부터 길이만큼 자르기 2. SUBSTR(컬럼명, 시작번호) - 시작 번호부터 마지막까지 자르기 ● DCL(Data Control Language) : 데이터 제어어 1. GRANT - 권한 부여 2. REVOKE - 권한 해제 실습(종합 정리) 1. PLAYER 테이블에서 키가 NULL인 선수들은 키를 170으로 변경하여 평균 구하기(NULL 포함) SELECT ROUND(AVG(NVL(HEIGHT, 170)), 2) "평균 키" FROM PLAYER; 2. PLAYER 테이블에서 팀 별 최대 몸무게 SELECT TEAM_ID, MAX(WEIGHT) || 'kg' "최대 몸무게" FROM PLAYER GROUP BY TEAM_I..
[Web_DBMS] 10 ● JOIN - 여러 테이블에 흩어져 있는 정보 중 사용자가 필요한 정보만 가져와서 가상의 테이블처럼 만들고 결과를 보여주는 것 - 정규화를 통해 조회 테이블이 너무 많이 쪼개져 있으면 작업이 불편하기 때문에 입력, 수정, 삭제의 성능을 향상시키기 위해서 JOIN을 통해 합친 후 사용한다. 1. 내부 조인(INNER JOIN) - 조건이 일치하는 값만 합쳐서 조회 - 선행 JOIN 후행(자료가 많은 쪽을 후행으로 정한다.) 테이블명A INNER JOIN 테이블명B ON 조건식 ※ INNER는 생략 가능하다. 테이블명A JOIN 테이블명B ON 조건식 (1) 등가 조인 - ON 절에 등호가 있을 때 (2) 비등가 조인 - ON 절에 등호가 없을 때 ● SQL 실행 순서 FROM > ON > JOIN > W..
[Web_DBMS] 09 ● CASE문 CASE 컬럼명 WHEN 값 THEN 컬럼명 또는 값 END ● SUB QUERY 1. FROM 절 : IN LINE VIEW 2. SELECT 절 : SCALAR 3. WHERE 절 : SUB QUERY ● SQL 실행 순서 FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY ● ROWNUM - 결과 행 앞에 1부터 1씩 증가하는 시퀀스를 붙여준다. ※ FROM절에서 AS 사용 - AS를 사용해서는 안되고 공백으로만 구분해야 한다. ● 옵티마이저(OPTIMIZER) - SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로(최저 비용)를 생성해주는 DBMS 내부의 핵심 엔진 - 사용자가 쿼리문(SQL)으로 결과를 요청하면, 이를 생성하는 데 필..
[Web_DBMS] 08 ● 숫자형 함수 1. ABS() : 절대값 2. SIGN() : 정수 판별 3. MOD() : 나머지 4. CEIL() : 값보다 큰 최근접 정수(올림) 5. FLOOR() : 값보다 작은 최근접 정수(내림) 6. TRUNC() : 버림 7. ROUND() : 반올림 ● 집계 함수 - 여러 개의 값을 하나의 값으로 집계하여 나타낸다. - NULL은 포함하지 않는다. - WHERE 절에서는 사용할 수 없다. 1. AVG() : 평균 2. MAX() : 최대값 3. MIN() : 최소값 4. SUM() : 총 합 5. COUNT() : 개수 ● 정렬(ORDER BY) - ASC : 오름 차순(DEFAULT) - DESC : 내림 차순 ● GROUP BY(~별) GROUP BY 컬럼명 HAVING 조건식 - ..
[Web_DBMS] 07 ● AS(ALIAS) : 별칭 - 결과 테이블에 표현할 컬럼명을 변경하고자 할 때 사용한다. - 길고 복잡한 컬럼명을 쉽게 사용하기 위해 사용한다. 1. SELECT절 - 컬럼명 뒤에 AS 또는 한 칸 띄어쓰고 작성한다. ● CONCATENATION : 연결 (ex) '안녕' || '하세요' ● LIKE - 포함된 문자열 값을 찾고, 문자의 개수에 제한을 줄 수 있다. - % : 모든 것 - _ : 글자 수 (ex) '%A' : A로 끝나는 모든 값(FDNMSKA, 123FNDSA, ...) (ex) 'A%' : A로 시작하는 모든 값(ADSF, A2193DK, AAA, ADD, ...) (ex) 'A__' : A로 시작하면서 3글자인 값(ABC, AAA, ADD, ...) (ex) '_A' : A로 끝..
[Web_DBMS] 06 ● 조합키(복합키) - 두 개 이상의 컬럼을 하나의 PK로 설정 (1) PRIMARY KEY CONSTRAINT [제약조건명] PRIMARY KEY(컬럼명1, 컬럼명2, ...) (2) FOREIGN KEY CONSTRAINT [제약조건명] FOREIGN KEY(컬럼명1, ...) REFERENCES [부모 테이블명](부모컬럼명1, 부모컬럼명2, ...) ● TCL(Transaction Control Language) - 트랜젝션 제어어 1. 트랜젝션 - 하나의 작업 단위 2. COMMIT - 모든 작업을 확정하는 명령어 3. ROLLBACK - 이전 커밋한 지점(시점)으로 이동 ※ TRUNCATE는 테이블 내용을 전체 삭제하므로, DELETE보다 빠르게 처리할 수 있다. 대용량 데이터 처리에 유리하지만..