다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
SQLite 소개 및 안드로이드에서의 사용법
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
SQL 언어 SQL.
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
소리가 작으면 이어폰 사용 권장!.
PL/SQL.
데이터베이스 시스템.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
DataBase 기본 교육 신입사원용 최지철.
Database & Internet Computing Laboratory 한 양 대 학 교
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
APM 실습 (MySQL).
Chapter 05 SQL 인젝션 공격.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Toad for Oracle 설치 방법.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
11장. 데이터베이스 서버 구축과 운영.
오라클 데이터베이스 성능 튜닝.
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
기초 T-SQL.
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
14장 뷰.
Chapter 05 데이터베이스 프로그래밍.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
9장 테이블 생성 및 변경, 삭제하기(DDL).
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
SQL.
시스템 보안 정보 보안 개론 9장.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
SQL (structured query language)
Chapter 3: Introduction to SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
SQL Query in the SSMS : DB, Table
제 20 장 오라클에서 회복 및 백업 기능.
JSP 게시판 구현.
View(뷰) 1 가상 테이블(Virtual Relation)
8장 테이블의 생성 및 변경 정인기.
12 데이터 무결성 제약조건 데이터 무결성 제약조건의 개념 데이터 무결성 제약조건의 종류 무결성 제약조건의 생성 방법.
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어.
06. SQL 명지대학교 ICT 융합대학 김정호.
제 8장 데이터베이스.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 2 장종원
Data Base Mysql.
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
Presentation transcript:

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 서진수 저

6장. DML을 배웁니다 1

6. DML을 배웁니다 - SQL 명령어들 DML (Data Manipulation Language) : INSERT(입력) , UPDATE(변경) , DELETE(삭제) , MERGE(병합) DDL (Data Definition Language) : CREATE (생성) , ALTER (수정) , TRUNCATE (잘라내기) ,DROP (삭제) * DCL (Data Control Language) : GRANT (권한 주기) , REVOKE (권한 뺏기) * TCL (Transaction Control Language): COMMIT (확정) , ROLLBACK (취소) * SELECT : 어떤 분류에서는 DQL (Data Query Language) 라고 하기도 합니다. 2

6. DML을 배웁니다 1. INSERT : 데이터 입력 명령어 1) INSERT 를 사용하여 단일 행 입력하기 INSERT INTO table [(column1, column2,……)] VALUES (value 1 , value 2,….) ; - 사용 예 1: Dept2 테이블에 아래와 같은 내용으로 새로운 부서 정보를 입력하세요.   * 부서번호 : 9000 * 부서명 : 특판1팀 * 상위부서 : 영업부 * 지역 : 임시지역 SCOTT>INSERT INTO dept2(dcode , dname , pdept ,area ) 2 VALUES (9000 , '특판1팀','영업부','임시지역') ; SCOTT>INSERT INTO dept2 2 VALUES(9001 , '특판2팀','영업부','임시지역') ; 3

6. DML을 배웁니다 - 사용 예 2: 특정 칼럼만 입력하기 부서번호와 부서명, 상위부서 값만 아래의 값으로 입력하세요.   * 부서번호 : 9002 * 부서명 : 특판3팀 * 상위부서 : 영업부 SCOTT>INSERT INTO dept2(dcode,dname,pdept) 2 VALUES(9002, '특판3팀' , '영업부') ; 4

6. DML을 배웁니다 - 사용 예 3: 날짜 데이터 입력하기 아래 정보를 professor 테이블에 입력하세요.   아래 정보를 professor 테이블에 입력하세요. * 교수번호 : 5001 * 교수이름 : 김설희 * ID : Love_me * POSITION : 정교수 * PAY : 510 * 입사일 : 2011년 11월 14일 <- 이 부분을 주의 깊게 보세요. SCOTT>INSERT INTO professor (profno , name , id , position , pay , hiredate) 2 VALUES (5001,'김설희','Love_me','정교수',510,'2011-11-14'); - 윈도 용과 유닉스 용은 날짜 포맷이 다르므로 주의해야 함. 5

6. DML을 배웁니다 - 사용 예 4: Null 값 입력하기 * 자동 NULL 값 입력하기   * 자동 NULL 값 입력하기 데이터를 입력할 때 칼럼에 값을 안 주면 자동으로 NULL 값이 들어 갑니다. * 수동 NULL 값 입력하기 데이터부분에 NULL 값을 적어주면 됩니다. 6

6. DML을 배웁니다 2) INSERT 를 사용하여 여러 행 입력하기 실습을 위해 professor2 테이블을 생성합니다. SCOTT>CREATE TABLE professor2 2 AS SELECT * FROM professor ; 실습을 위해 professor2 테이블을 생성합니다. SQL> INSERT INTO professor2 2 SELECT * FROM professor ; 이 방식은 이미 생성되어 있는 테이블에서 대량의 데이터를 복사 해 올 때 아주 많이 사용하는 방법입니다. ITAS 라고 부르기도 합니다. 7

6. DML을 배웁니다 3) INSERT ALL 을 이용한 여러 테이블에 여러 행 입력하기 - 사용 예 1 : 다른 테이블에 한꺼번에 데이터 입력하기 SCOTT> INSERT ALL 2 INTO p_01 (no , name) 3 VALUES (1,'AAA') 4 INTO p_02 (no , name) 5 VALUES(2,'BBB') 6 SELECT * FROM dual ; 이 예제는 p_01 테이블과 P_02 테이블에 각각 서로 다른 데이터를 동시에 입력하는 방법을 보여주고 있습니다. 8

6. DML을 배웁니다 - 사용 예 2 : 다른 테이블의 데이터를 가져와서 입력하기 Professor 테이블에서 교수번호가 1000 번 에서 1999번까지 인 교수의 번호와 교수이름은 p_01 테이블에 입력하고 교수번호가 2000 번에서 2999 번까지 인 교수의 번호와 이름은 p_02 테이블에 입력하세요. SCOTT>INSERT ALL 2 WHEN profno BETWEEN 1000 AND 1999 THEN 3 INTO p_01 VALUES(profno,name) 4 WHEN profno BETWEEN 2000 AND 2999 THEN 5 INTO p_02 VALUES(profno,name) 6 SELECT profno,name 7 FROM professor ; 9

6. DML을 배웁니다 - 사용 예 2번 결과 화면 10

6. DML을 배웁니다 - 사용 예 3 : 다른 테이블에 동시에 같은 데이터 입력하기   Professor 테이블에서 교수번호가 3000번 에서 3999 번인 교수들의 교수 번호와 이름을 p_01 테이블과 p_02 테이블에 동시에 입력하세요. SCOTT>INSERT ALL 2 INTO p_01 VALUES (profno,name) 3 INTO p_02 VALUES (profno,name) 4 SELECT profno,name 5 FROM professor 6 WHERE profno BETWEEN 3000 AND 3999 ; 11

6. DML을 배웁니다 2. UPDATE ( 데이터 변경하기 ) - 사용 예 1: UPDATE table SET column = value WHERE 조건 ; - 사용 예 1:   Professor 테이블에서 직급이 조교수 인 교수들의 BONUS 를 100 만원으로 인상하세요. SCOTT>UPDATE professor 2 SET bonus = 100 3 WHERE position ='조교수'; 12

6. DML을 배웁니다 - 사용 예 2:  Professor 테이블에서 차범철 교수의 직급과 동일한 직급을 가진 교수들 중 현재 급여가 250 만원이 안 되는 교수들의 급여를 15% 인상하세요. SCOTT>UPDATE professor 2 SET pay = pay * 1.15 3 WHERE position = ( SELECT position 4 FROM professor 5 WHERE name = '차범철') 6 AND pay < 250 ; 13

6. DML을 배웁니다 3. DELETE ( 데이터 삭제하기) - 사용 예 : DELETE FROM table WHERE 조건 ; - 사용 예 :   Dept2 테이블에서 부서번호(DCODE)가 9000 번에서 9100 번 사이인 매장들을 삭제하세요. SCOTT>DELETE FROM dept2 2 WHERE dcode between 9000 and 9100 ; DELETE 는 데이터는 삭제되나 용량은 변함이 없다는 것 !!! 14

6. DML을 배웁니다 4. MERGE ( 테이블 합치기 ) 26 SQL> MERGE INTO Table1 2 USING Table2 3 ON ( 병합 조건절 ) 4 WHEN MATCHED THEN 5 UPDATE SET 업데이트 내용 6 DELETE WHERE 조건 7 WHEN NOT MATCHED THEN 8 INSERT VALUES(컬럼 이름) ; 26

6. DML을 배웁니다 - Merge 실습 27

6. DML을 배웁니다 - Merge 전 테이블 내용 확인 28 SCOTT>SELECT * FROM pt_01 ; 판매번호 제품번호 수량 금액 ----------- ------------ ---------- ---------- 12010101 1000 1 500 12010102 1001 1 400 12010103 1003 1 300 SCOTT>SELECT * FROM pt_02 ; 판매번호 제품번호 수량 금액 ----------- ------------ ---------- ---------- 12010201 1004 1 600 12010202 1000 1 500 12010203 1005 1 700 SCOTT>SELECT * FROM p_total ; no rows selected 28

6. DML을 배웁니다 - MERGE 작업 QUERY 1 (pt_01 테이블과 p_total 테이블 병합) 29 SCOTT>MERGE INTO p_total total 2 USING pt_01 p01 3 ON (total.판매번호=p01.판매번호) 4 WHEN MATCHED THEN 5 UPDATE SET total.제품번호 = p01.제품번호 6 WHEN NOT MATCHED THEN 7 INSERT VALUES(p01.판매번호 , p01.제품번호 , p01.수량 , p01.금액) ; 29

6. DML을 배웁니다 - MERGE 작업 QUERY 2 (pt_02 테이블과 p_total 테이블 병합) 30 SCOTT>MERGE INTO p_total total 2 USING pt_02 p02 3 ON (total.판매번호=p02.판매번호) 4 WHEN MATCHED THEN 5 UPDATE SET total.제품번호 = p02.제품번호 6 WHEN NOT MATCHED THEN 7 INSERT VALUES(p02.판매번호 , p02.제품번호 , p02.수량 , p02.금액) ; 30

6. DML을 배웁니다 - Merge 작업 완료 후 결과 조회하기 31

6. DML을 배웁니다 5. TRANSACTION 관리하기 초등학교 중학교 대학교 1 학년 1 학년 1 학년 2 학년 2 학년 3 학년 4 학년 5 학년 6 학년 중학교 1 학년 2 학년 3 학년 대학교 1 학년 2 학년 3 학년 4 학년 - Commit – 트랜잭션 확정하기 - Rollback – 트랜잭션 취소하기 32