Stored program 2 장종원 phobos90@naver.com.

Slides:



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

1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
SQLite 소개 및 안드로이드에서의 사용법
Chapter 04 SQL 고급.
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
DB Injection과 대응방안 nwkim.
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
SQL 0613.
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
소리가 작으면 이어폰 사용 권장!.
PL/SQL.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
Chapter 05 SQL 인젝션 공격.
JDBC 프로그래밍 이수지 이동주 1.
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Oracle7.0 (SQL & SQL PLUS) - 신입사원 교육자료 (주)대호네티즌 S/W개발팀.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
11장. 데이터베이스 서버 구축과 운영.
kHS 데이터베이스 테이블 및 인덱스 kHS.
데이터 베이스 설계 및 실습 #3 - SQL 함수.
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
기초 T-SQL.
KIM HEESANG JDBC Programming 3 KIM HEESANG
SQL 함수 SQL 함수.
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
Chapter 05 데이터베이스 프로그래밍.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
Heesang kim PL/SQL 3 Heesang kim.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               SQL (2) - 함수, 뷰.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
SQL.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
KIM HEESANG PL/SQL 2 KIM HEESANG
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
SQL Query in the SSMS : DB, Table
1장. SELECT 문장을 이용하여 원하는 데이터 가져오기
JSP 게시판 구현.
View(뷰) 1 가상 테이블(Virtual Relation)
maria db JDBC PROGRAMMING3
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
Database 중고차 매매 DB 비즈니스IT 윤동섭.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
기본적인 SELECT문 작성.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
4.DECODE 함수를 이용한 IF 처리의 효율화
06. SQL 명지대학교 ICT 융합대학 김정호.
SQL Server 2000 세미나 View, SP &Trigger
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 장종원
SQL 함수.
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
Presentation transcript:

Stored program 2 장종원 phobos90@naver.com

성적관리 프로그램 Procedure(4장에서 했던) SELECT ~ INSERT INTO ~ UPDATE ~ DELETE ~ Table name: SCORE Name(PK) kor eng math total Average varchar(20) int

SELECT Procedure화

Select Score Procedure SELECT 절의 내용을 Procedure화 하여 커서를 이용해 처리

DatabaseManager Select부분 변경 (getScore 부분)

Delete Score Procedure DELETE FROM Score WHERE name = ? 를 변수를 받아 Procedure에서 처리

DatabaseManager delete부분 변경 (deleteScore 부분)

과제 1 INSERT INTO, UPDATE SQL을 프로시저화하시오.

과제 2 selectScoreProcedure와 프로그램을 수정하여, 아래와 같이 나올 수 있도록 하세 요. SELECT 절에서 CASE 문 사용 문법 SELECT (CASE WHEN 조건 THEN 값 WHEN 조건 THEN 값…. ELSE 값 END) AS grade 평균 100 ~ 90 A 평균 89 ~ 80 B 평균 79 ~ 70 C 평균 69 ~ 60 D 평균 59 ~ 0 F

SCORE 데이터 입력 DELETE FROM SCORE; INSERT INTO SCORE VALUES('연아', 100, 90, 90, 280, 93); INSERT INTO SCORE VALUES('현진', 80, 80, 80, 240, 80); INSERT INTO SCORE VALUES('장훈', 100, 65, 50, 215, 71); INSERT INTO SCORE VALUES('지성', 70, 70, 70, 210, 70); INSERT INTO SCORE VALUES('연경', 50, 80, 55, 185, 61); INSERT INTO SCORE VALUES('흥민', 50, 50, 55, 155, 51);

Maria DB 문자 함수 CONCAT UPPER, LOWER LPAD, RPAD SUBSTR LENGTH REPLACE INSTR TRIM, LTRIM, RTRIM IFNULL

CONCAT [ ] CONCAT(char1, char2) 두 문자를 결합 FROM DUAL 어떤 테이블도 참조되지 않는 상황에서는 dummy 테이블을 의미하는 DUAL을 명시할 수 있음 [ ]

UPPER, LOWER LOWER(char), UPPER(char) LOWER 문자열을 소문자로 변환 UNION ALL 집합 연산자

LPAD, RPAD LPAD(char1, n [,char2]), RPAD(char1, n [,char2]) char1 문자열 앞/뒤에 char2를 끼어 놓음(총 n개의 문자열의 길이로 맞추도록) LPAD 왼쪽에 문자열을 끼어 놓는 역할 RPAD 오른쪽에 문자열을 끼어 놓는 역할

SUBSTR SUBSTR(char, m ,[n]) m 번째 자리부터 길이가 n개인 문자열을 반환 m이 음수일 경우에는 뒤에서 m 번째 문자부터 n개의 문자를 반환

LENGTH LENGTH(char) 문자열의 길이를 반환

REPLACE REPLACE(char1, str1, str2) REPLACE는 문자열의 특정 문자를 다른 문자로 변환 대소문자 구분

INSTR INSTR (char1, str1) 문자열이 포함되어 있는지를 조사하여 문자열의 위치를 반환 지정한 문자열이 발견되지 않으면 0이 반환

TRIM, LTRIM, RTRIM - 1 TRIM(str), LTRIM (str), RTRIM (str)

TRIM, LTRIM, RTRIM - 2 TRIM ( [ {BOTH | LEADING | TRAILING} [remove_str] from ] str) TRIM : 특정한 문자를 제거 제거할 문자를 입력하지 않으면 기본적으로 공백이 제거 BOTH : 양쪽 공백 혹은 문자 제거 (기본) LEADING : 좌측 공백 혹은 문자 제거 TRAILING : 우측 공백 혹은 문자 제거

IFNULL NULL 값을 다른 값으로 바꾸며, 모든 데이터 타입에 적용 가능 IFNULL(컬럼명, ‘대체할 값‘) SELECT * FROM customer; SELECT custid, name, address, IFNULL(PHONE,'000-0000-0000’) phone FROM customer;

myTable 스키마 myTable.sql 참조 500개 데이터

과제 3 MYTABLE을 이용하여 다음 문제를 풀어주세요. (SQL 작성) NAME의 길이보다 FAMILY의 수가 적은 사람의 수를 구하시오. NAME에 A(a)또는 B(b)가 들어가는 사람의 수를 구하시오. NAME과 CITY가 같은 글자로 시작하는 사람들의 NAME와 CITY를 출력하시오. (24명) EMAIL의 마지막 도메인을 잘라(.com, .uk, .org …) 각 항목별로 COUNT 하시오. 마지막 도메인은 2~3 글자 Group by를 이용하여 그룹핑

과제 3 MYTABLE을 이용하여 다음 문제를 풀어주세요. (SQL 작성) 각 연도별 인원수와 최대 SALARY를 구하고, 연도별로 정렬하시오. (2000 ~ 2018, 19개) Family 수에 따른 가장 최근 generatedate를 구하시오. Family로 정렬하시오. 힌트 : generatedate는 문자열이고, 가장 최근 날짜가 값이 제일 큰 것을 이용 문자열 숫자로 변환 : CAST(변수명 as unsigned)