반응형

Oracle 10

[DataBase] Oracle SQL - DCL (데이터 제어어) GRANT / REVOKE

데이터 제어어(Data Control Language)는 말 그대로 데이터를 제어하기 위한 언어이다. 이 데이터 제어어에는 권한을 관리하기위한 GRANT / REVOKE 등의 언어가 있다. 권한에는 시스템 권한과 객체 권한이 있는데 각 권한별로 권한을 어떻게 부여하고 회수하는지 알아보자. 1. 시스템 권한 -오라클 데이터베이스의 시스템 권한은 사용자 생성과 정보 수정 및 삭제, 데이터베이스 접근, 오라클 데이터베이스의 여러 자원과 객체 생성 및 관리 등의 권한을 포함한다. - 데이터베이스 접속, 사용자 및 오브젝트 생성 등 기본적으로 다음과 같은 권한들이 있다. 시스템 권한 분류 시스템 권한 설명 USER (사용자) 관련 권한 CREATE USER 사용자 생성 권한 ALTER USER 생성된 사용자의 정..

[DataBase] Oracle SQL - DML (데이터 조작어) SELECT / INSERT / UPDATE / DELETE

SQL에서 가장 많이 쓰이는 DML에 대해 알아보자. DML (Data manipulation language) - 데이터 조작어 - 데이터를 조작하는데 사용되는 언어 - SELECT : 선택 - INSERT : 삽입 - UPDATE : 수정 - DELETE : 삭제 1.SELECT SELECT문은 앞에서 다루었기 때문에 이전 포스팅을 참고하기 바란다. 또한 사용되는 여러 함수들도 이전 포스팅을 참고하면 되겠다. 2021/02/02 - [Database/개념정리] - [DataBase] Oracle SQL 기본 문법 - 1 (SELECT, FROM) [DataBase] Oracle SQL 기본 문법 - 1 (SELECT, FROM) 위의 예시 테이블을 이용하여 기본 문법을 알아보도록 하자. 1. SELE..

[DataBase] Oracle SQL - DDL (데이터 정의어) CREATE / ALTER / DROP / RENAME / TRUNCATE

데이터 정의어 (DDL: Data Definition Language) - 데이터베이스는 데이터 관리 및 보관을 위해 다양한 객체를 제공한다. 이러한 객체를 새로 만들거나 기존에 존재하던 객체를 변경하거나 삭제하는 등의 기능을 수행하는 명령어를 데이터 정의어라고 한다. DDL 의 종류 - CREATE : 객체를 생성 - ALTER : 이미 생성된 객체를 변경 - DROP : 객체를 삭제 - RENAME : 이름 변경 - TRUNCATE : 데이터 삭제 1. CREATE - CREATE [계정].[테이블] ([열이름] [자료형] [제약조건] , [열2이름] [자료형2] [제약조건2], ... ); - 소유계정이름을 생략하고 CREATE TABLE 명령어를 사용하면 현재 접속해 있는 계정 소유의 테이블이 만..

[DataBase] Oracle SQL - 조인 정리(등가 조인 / 비등가 조인 / 외부 조인(LEFT/RIGHT/FULL JOIN) / 셀프 조인)

집합 연산자와 조인의 차이점 - 조인은 두 개 이상의 테이블을 연결하여 하나의 테이블 처럼 출력할 때 사용하는 방식이다. - 집합연산자를 사용한 결과는 두 개 이상 SELECT 문의 결과 값을 세로로 연결한 것이고, 조인을 사용한 결과는 두 개 이상의 테이블 데이터를 가로로 연결 한 것이라고 볼 수 있다. FROM 절에는 여러 테이블을 명시할 수 있다. select * from emp, dept order by empno; 단순히 FROM절에 테이블을 두 개 입력했을 때는 위와 같이 무수히 많은 데이터들이 출력된다. 이는 FROM절에 함께 명시한 각 테이블을 구성하는 행이 모든 경우의 수로 조합되어 출력되기 때문이다 때문에 조건식을 지정해 주어야 하는데 이 때에는 보통 외래키를 이용하여 조건식을 설정해준..

[DataBase] Oracle SQL 내장 함수 - 5 (형 변환 함수 2) DECODE / CASE

1. DECODE 함수 - 특정 열 값이나 데이터 값에 따라 어떤 데이터를 반환할 지 정할 때 사용 - DECODE( [검사 대상이 될 열 또는 데이터, 연산이나 함수의 결과], [조건1], [데이터가 조건 1과 일치할 때 반환할 결과], [조건2], [데이터가 조건 2과 일치할 때 반환할 결과], .... [조건n], [데이터가 조건 n과 일치할 때 반환할 결과], [위 조건들에 부합하는 경우가 없을 때 반환할 결과] ) - 즉 DECODE( 컬럼, 조건1, 결과1, 조건2, 결과2, ... 조건n, 결과n, 예외 ) 라고 할 수 있다. EMP 테이블에서 1) 직책이 MANAGER인 사람은 급여의 10% 인상 2) SALESMAN인 사람은 급여의 5% 인상 3) ANALYST인 사람은 그대로 4) 나머..

[DataBase] Oracle SQL 내장 함수 - 4 (형 변환 함수) TO_CHAR / TO_NUMBER / TO_DATE / NVL

형 변환 함수 - 각 데이터에 지정된 자료형을 바꾸어 주는 함수를 형 변환 함수라고 한다. select empno, ename, empno + '500' from emp where ename = 'SMITH'; 위와 같이 empno (숫자) 와 '500'(문자열) 을 더한 값을 출력했는데 값이 7869로 정확하게 나왔다. 이는 자동 형 변환이라고 불리는 암시적 형 변환이 발생했기 때문이다. 숫자처럼 생긴 문자 데이터는 숫자 데이터로 암시적 형 변환이 일어나지만 그 외의 경우에는 잘 동작하지 않는다. select 'ABCD' + empno, empno from emp where enmae = 'SMITH'; 이외에 사용자가 직접 자료형을 지정해 주는 명시적 형 변환 방법이 있다. 1. TO_CHAR 함수 ..

[DataBase] Oracle SQL 내장 함수 - 3 (날짜 함수) ADD_MONTHS / MONTH_BETWEEN / NEXT_DAY / LAST_DAY

1. ADD_MONTHS - 몇 개월 이후 날짜를 구하는 함수 - ADD_MONTHS( [날짜 데이터] , [더할 개월 수] ) select sysdate, add_months(sysdate,3) from dual; SYSDATE 는 현재 날짜를 의미한다. select hiredate, add_months(hiredate, 120) as "10주년" from emp; 위와 같이 칼럼을 불러와 입사 10주년 날짜를 구할 수도 있다. 2. MONTH_BETWEEN 함수 - MONTH_BETWEEN( [기준 날짜] , [뺄 날짜] ) - 두 날짜 간의 개월 수 차이를 구하는 함수 select hiredate, sysdate, months_between(hiredate,sysdate) from emp; 고용일로..

[DataBase] Oracle SQL 내장 함수 - 1 (문자 함수) UPPER / LOWER / INITCAP / SUBSTR / LENGTH / INSTR / REPLACE / LPAD / RPAD / CONCAT

SQL 내장 함수에는 여러 가지 종류가 있다. 이번에는 그 중에서 문자 함수에 대해 다뤄보도록 한다. 1. 대 소문자를 바꿔주는 UPPER, LOWER, INITCAP 함수 UPPER(문자열) : 괄호 안 문자 데이터를 모두 대문자로 변환하여 반환 LOWER(문자열) : 괄호 안 문자 데이터를 모두 소문자로 변환하여 반환 INITCAP(문자열) : 괄호 안 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환 select ename, upper(ename), lower(ename), initcap(ename) from emp; 예시 테이블에서 문자함수를 이용하여 사원들의 이름을 각각 대문자, 소문자, 첫글자만 대문자로 바꿀 수 있다. 2. 문자열 일부를 추출하는 SUBSTR 함수 -..

[DataBase] Oracle SQL 기본문법 - 2 (Where절, 연산자의 종류)

WHERE 절은 조회할 행을 선별하기 위한 조건식이다. 조건식의 결과 값이 true인 행만 출력한다. 즉 내가 원하는 열 값만 출력하거나 수정할 수 있게 해준다. 간단한 예시를 보자 select * from emp where deptno = 30; emp 테이블의 모든 정보를 조회하지만 where 절을 통해서 deptno(부서번호) 가 30인 정보만 출력하도록 했다. 이와 같이 where 뒤에는 조건식이 들어와야 하므로 연산자가 잇따르는 경우가 많다. 이 연산자에 대해 알아보도록 하자 1) 논리 연산자 - A AND B : A와 B 조건을 모두 만족하는 것 - A OR B : A 또는 B의 조건을 만족하는 것 (둘중에 하나라도 만족하는 것) - NOT A: 논리 부정 연산자. (A가 아닌 것) AND 연..

[DataBase] Oracle SQL 기본 문법 - 1 (SELECT, FROM)

위의 예시 테이블을 이용하여 기본 문법을 알아보도록 하자. 1. SELECT FROM - 데이터베이스 SQL문을 작성할 때에 가장 기본이 되는 것은 SELECT 문과 FROM 문이다. - SELECT는 조회할 열을 선택하는 것이고 FROM은 이 열이 어떤 테이블인지 조회하는 구문이다. select * from emp; 애스터리스크(*)은 전체를 선택한다는 의미이다. 위 구문은 emp 테이블의 모든 열을 선택한다는 의미이므로 결과1과 같이 테이블의 전체 정보가 출력되었다. select ename, empno, sal from emp; 결과 2에서는 모든 정보가 아닌 emp테이블에서 이름, 사원번호, 급여만 조회되는 것을 알 수 있다. select문에서 ename과 empno, sal을 선택했기 때문이다. ..

반응형