본문 바로가기
반응형

🛢 3. Database/3-1 Mysql18

[Database] 18. 뷰(VIEW) 생성 및 사용법 1. 뷰(VIEW) 개념 - 뷰(VIEW) : 데이터를 보여주는 역할만 하는 일종의 가상 테이블, - 물리적으로 저장하지 않는다. (삽입/삭제/갱신 작업이 제한됨) - 테이블의 직접적인 접근 제어 (사용자 권한에 따라 필요한 필드만 보여준다.) - 장점 : 복잡하고 어려운 쿼리문으로 조회를 수행해야 할 때, 매번 작성해야 하는 번거로움을 해결해 준다. 2. VIEW TABLE 생성 실습 1. 앞서 했던 조인 마지막 예제 뷰 만들기 CREATE VIEW veiw_employee_info AS ( SELECT E.EMP_NO, E.FIRST_NAME, E.GENDER, S.TO_DATE, S.SALARY, DE.DEPT_NO, DP.DEPT_NAME FROM EMPLOYEES E LEFT OUTER JOIN.. 2021. 10. 4.
[Database] 17. JOIN(조인) 정리 - INNER/LEFT/RIGHT/OUTER 1. JOIN (조인) 1. JOIN (조인) 개념 - 조인 : 관계를 맺고 있는 2개 이상의 테이블을 묶어서 하나의 결과 테이블을 만드는 것 - 종류 : INNER JOIN, LEFT/RIGHT/FULL OUTER JOIN, UNION - 데이터베이스는 데이터의 중복저장, 저장공간의 낭비등을 피하고 데이터의 무결성을 보장하기 위해 여러 개의 테이블 에 나누어 저장한다. - 이러한 정규화 과정에 의해 서로 관계를 맺고 있는 분리된 테이블을 일상적 질의를 처리하기 위해 조립하는 방법 2. JOIN (조인) 참고 사이트 https://sql-joins.leopard.in.ua SQL Joins Visualizer Please select how do you want to do SQL JOIN between .. 2021. 10. 4.
[Database] 16. 비주얼 스튜디오 코드로 쿼리 실행하기 비주얼 스튜디오 코드로 쿼리 실행하기 2021. 9. 29.
[Database] 15. 부조회(서브쿼리) 부조회 (서브쿼리) 1. 의미 - 부조회 (서브쿼리, INNER QUERY) : 쿼리 안에 있는 또 다른 쿼리 - 서브쿼리를 사용하는 경우 : 구절의 순서를 바꿔야 하는 경우 - 먼저 수행해서 결과를 남겨야 하는 경우 실습 1. NOTICE 테이블에서 최신 등록순으로 정렬한 결과에서 상위 10개의 게시글을 원하는 경우라면? SELECT WRITER_ID, TITLE, REGDATE, DENSE_RANK() OVER(ORDER BY REGDATE DESC) `NO` FROM NOTICE WHERE `NO` BETWEEN 1 AND 10; -- 오류발생! SELECT A.WRITER_ID, A.TITLE, A.REGDATE, A.`NO` FROM A WHERE A.`NO` BETWEEN 1 AND 10; S.. 2021. 9. 28.
[Database] 14. SELECT 구절 순서와 처리 과정 1. SELECT 구절 작성 순서 1. SELECT 구절 작성 순서 2. SELECT 구절 처리 과정 0. 처리 순서 FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY 1. FROM city : 데이터 가공 처리를 위한 격자형 데이터 구조(테이블/레코드 연산)를 마련 2. WHERE `Population` > 200000 : 레코드 필터링 3. GROUP BY `CountryCode` : 집계(COUNT/AVG/MIN/MAX) 4. HAVING `CNT` >= 2 : 집계된 레코드에서 필터링 ★집계함수(COUNT/AVG/MIN/MAX)는 WHERE 절에서 사용 할 수 없다. 5. SELECT 6. ORDER BY `CNT` DESC : 정렬 7) 다 합치면 ?.. 2021. 9. 28.
[Database] 13. DISTINCT와 COUNT, SQL 함수(문자열, 숫자, 날짜, 변환, NULL 관련) 1. DISTINCT(중복값 제거)와 COUNT -- 1. 아이돌 멤버테이블에서 아이돌 그룹 이름을 출력하시오 (단, 중복제거) select distinct group_name from idol_member; -- 아이돌 멤버테이블에 있는 모든 멤버의 총 인원 수 출력 select count(*) from idol_member; -- 아이돌 멤버테이블에 있는 그룹의 총 개수를 출력 select count(distinct group_name) from idol_member; -- 트와이스 그룹의 총 멤버 수를 출력하시오 select count(*) from idol_member where group_name = '트와이스'; -- 각 그룹별 총 멤버 수를 출력하시오 SELECT GROUP_NAME, COU.. 2021. 9. 27.
[Database] 12. 페이징 처리 [MySQL]에서 Oracle처럼 ROWNUM을 사용하여 번호매기기 1) SET 구문을 사용하여 ROWNUM 값을 초기화 후 조회 SET @rownum:=0; SELECT @rownum:=@rownum+1 AS `NUM`, tbl.* FROM lecture.idol_member tbl; 2) WHERE 절에서 초기화 SELECT @rownum:=@rownum+1 AS `NUM`, tbl.* FROM lecture.idol_member tbl --WHERE (@rownum:=0)=0; 초기화 하지 않은 경우 SELECT @rownum:=@rownum+1 AS `NUM`, tbl.* FROM lecture.idol_member tbl WHERE (@rownum:=0)=0; 3) 페이징(Paging) 처리(행.. 2021. 9. 27.
[Database] 11. 정규표현식 1. 정규표현식이란? 1) 의미 - Regular Expression : Regex - 정규표현식은 "특정 패턴의 문자열"을 찾기 위한 표현 방식 - 보통 이런걸 형식 언어, formal languange라고 함 - 정규표현식을 이용하면, 특정 패턴에 매칭되는 문자열을 쉽게 찾아낼 수 있다. - 정규표현식으로 아래와 같이 패턴을 만들어주면, 특정 문자열이 해당 패턴에 맞는지 체크할 수 있습니다. 2) 정규식(regex)을 이용한 패턴 연산 - 검색 패턴 기호를 사용하여 원하는 특정한 패턴을 찾거나 변환 및 특정한 패턴에 부합하는지 유효성 검증을 위해 사용 2. 참고 사이트 1) 위키피디아 정규 표현식 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 정규 표현식 - 위키백과, 우리 모두의 .. 2021. 9. 23.
[Database] 10. 연산을 통한 데이터 조회 1. 산술연산자(+,-,*,/) select 2+3 as sum; -- as 생략 가능 select 1 + '1'; -- java에서는 11이 출력되지만 SQL에서는 2가 출력됨 -- > SQL은 '문자'를 '숫자'로 바꾸는 경향이 있음 select '2' + '3'; 2. 비교연산자(=, !=, , >, >=, = '2013' and DEBUT_YEAR 2021. 9. 17.
[Database] 09. 트랜잭션 처리 - COMMIT 과 ROLLBACK 트랜잭션 개념 트랜잭션이란? - 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 기능을 수행하는 작업의 단위 - 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미함 - 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다 - 업무의 실행단위 / 논리적인 명령단위 / 개념상의 실행단위 - 다른세션이 건드리지 못하도록 물리적인 명령어 단위인 LOCK을 사용 - 그 후 UNLOCK 과 COMMIT 을 이용하여 수정 ACID란? - ACID는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어 - 종류 : 원자성(Atomicity) 일관성(Consistency) 독립성(Isolation) 지속성(Durability) ACID .. 2021. 9. 16.
[Database] 08. JDBC 프로그래밍 1. DB Client 프로그램의 역할 - 쿼리(SQL)실행 도구 - 연결/인증, 문장실행, 결과패치 2. 애플리케이션(서비스)의 역할 - 고객은 쿼리를 알지도 알 필요도 없다. - 고객은 UI를 통해 회원정보의 목록조회/등록/검색 등을 실행한다. - 각 실행 단계의 코드를 통해서 쿼리(SQL)문이 작성된다. - 작성된 쿼리(SQL)는 데이터베이스 서버로부터 연결/인증, 문장실행, 결과패치를 한다. - 해당 결과를 UI(고객)에게 전달한다. - 프로그래머는 사용자의 요구에 부응하는 쿼리를 만들어주고 그것을 실행할 수 있도록 해준다. - 이때 필요한 것은 코드에서 데이터를 수용할 수 있게 해주는 라이브러리(DB API)가 필요하게 되는데 - 서로 다른 DBMS에 대해 연결/인증, 쿼리실행, 결과패치 등을 .. 2021. 9. 11.
[Database] 07. 데이터 조작하기 DML 실습 1. DML 개념 - DML : Data Manipulation Language - 검색/등록/삭제/갱신을 위한 데이터베이스 언어 2. [INSERT] 등록/생성 1. 모든 필드 값을 입력하기 INSERT INTO lecture.member VALUES( 'hong01', '1234', '홍길동', '남', '2021-09-03', '010-1234-5678', '2021-09-03', 'hong01@gmail.com' ); SELECT * FROM lecture.member; 2. 원하는 필드만, 원하는 순서대로 입력하기 INSERT INTO member(ID, PWD) VALUES('lim02','6789'); -- 필수(입력) 정보 외에는 NULL로 채워짐 3. member테이블에 회원.. 2021. 9. 11.
[Database] 06. 테이블 수정 및 업무 테이블 준비하기 테이블 수정하기 1. create (테이블 생성) CREATE TABLE `member` ( `ID` varchar(50) DEFAULT NULL, `PWD` varchar(50) DEFAULT NULL, `NAME` varchar(50) DEFAULT NULL, `GENDER` char(6) DEFAULT NULL, --> '남' '여'로 표현 가능 2.수정요청 `AGE` tinyint unsigned DEFAULT NULL, --> BIRTHDAY(생년월일)로 계산 가능 3.삭제요청 `BIRTHDAY` char(10) DEFAULT NULL, `PHONE` char(13) DEFAULT NULL, 2021. 9. 10.
[Database] 05. 데이터 타입 1. 문자(character) 형식 2. 숫자(Numeric) 형식 3. 날짜와 시간 형식 4. LOB(Large Object) 형식 2021. 9. 9.
[Database] 04. 테이블 생성하기 다이어그램 종류 1. ERD 란? - ERD는 말로 되어있는 요구분석사항을 그림으로 그려내어 그 관계를 도출하는 것 - 데이터 모델링 분야에서 "개체-관계 모델(Entity Relationship Model)"이란 구조화된 데이터에 대한 일련의 표현이다 2. 개념적 ERD 만들기 3. DB 정규화 4. 테이블 정의서 5. 논리적 ERD 6. workbench에서 다이어그램 만든 예시 * 우리도 이런식으로 만들 예정 workbench로 ERD Diagram 생성하기(불러오기) 1. workbench에서 데이터베이스 선택하여 Reverse 시작 Select Schemas to Reverse Engineer 항목의 Select the schemas you want to include: [v]database_m.. 2021. 9. 8.
반응형