Database/SQL (oracle, mysql)
-
[SQL] SEQUENCE 시퀀스Database/SQL (oracle, mysql) 2019. 5. 31. 15:41
[SQL] SEQUENCE 시퀀스 - 자동번호 부여 - 숫자값이 일정한 규칙에 의해서 연속적으로 자동증가. - 테이블에 종속적이지 않다(테이블과 독립적) 형식) CREATE SEQUENCE sequence_name [INCREMENT BY] 증가치 [START WITH] 초기값 [MAXVALUE n|NOMAXVALUE] [MINVALUE|NOMINVALUE] [CYCLE|NOCYCLE] [CACHE|NOCACHE]; maxvalue: 시퀀스가 가질 수 있는 최대값 지정. nomaxvalue일 경우 ascending순서일 경우 10의 27승 descending일 경우 -1 minvalue: 시퀀스가 가질 수 있는 최대값 지정. nominvalue일 경우 ascending 1 descending 10의 26..
-
[SQL] VIEW 란?Database/SQL (oracle, mysql) 2019. 5. 31. 14:36
VIEW 테이블이 없다면 뷰가 만들어질 수 없다. - SELECT를 지칭한다. - 기본테이블에 대한 하나의 쿼리문 (TEXT를 저장하는 객체) - 자주 사용되는 복잡하고 긴 쿼리문을 저장하는 객체 - 특정컬럼만 보여지게끔 하여 보안을 목적으로 사용한다. - 수정을 불가능하게 read only를 설정할 수 있다. CREATE VIEW 뷰이름 AS SELECT문 권한부여 1. 관리자 계정 연결 conn system/oracle 2. 권한 부여 GRANT SYSTEM_PRIVILIEGE TO USER_NAME; 관한 회수 REVOKE SYSTEM_PRIVAILIEGE FROM USER_NAME; VIEW생성시 원본데이터 변경시에 생성된 테이블의 데이터가 반영된다. 한마디로 자주 조회하는 부분들을 객체화 하는 ..
-
[SQL] 참조 CASCADE관한 설명Database/SQL (oracle, mysql) 2019. 5. 30. 19:55
※ 참고) create table emp5 ( deptno number(2) references 참조테이블명(참조컬럼명) on delete cascade --------- 부모 (부서)테이블에서 특정 번호(예:10번부서)를 삭제했을때 자식 (사원)테이블에서 10번 부서에 근무하는 사원들을 삭제!! ); create table emp5 ( deptno number(2) references 참조테이블명(참조컬럼명) on delete set null --------- 부모 (부서)테이블에서 특정 번호(예:10번부서)를 삭제했을때 자식 (사원)테이블에서 10번 부서에 근무하는 사원들의 deptno를 null값으로 변경!! ); 테스트1) drop table dept5; create table dept5 as s..
-
[SQL] 무결성 제약조건Database/SQL (oracle, mysql) 2019. 5. 30. 19:55
무결성 제약조건 - Data integrity constraint rule 무결성을 보장해 주는 것 테이블에 부적절한 자료가 입력(INSERT, UPDATE) 되는 것을 방지하기 위해서 테이블을 생성할 때 각 컬럼에 대해서 정의하는 여러가지 규칙 ( 테이블 생성후 컬럼에 규칙 정의하는 것도 가능 ) 1. NOT NULL EMPNO NUMBER(4) CONSTRAINT EMP2_EMPNO_NN NOT NULL, - 해당 컬럼값으로 NULL을 허용하지 않는다. - (행단위) 입력시 데이터를 무조건 받겠다! 2. UNIQUE CONSTRAINT EMP2_EMPNO_UK UNIQUE(EMPNO) - NULL의 중복은 방지하지 못한다. - 테이블에서 해당 컬럼값은 항상 유일 무이한 값을 가진다. NULL 허용 -..
-
[SQL] TCL - ROLLBACK, COMMIT, SAVEPOINTDatabase/SQL (oracle, mysql) 2019. 5. 30. 11:34
[SQL] TCL - ROLLBACK, COMMIT, SAVEPOINT - TRANSACTION - 데이터 처리의 한 단위 - 처음부터 commit까지의 작업 - 오라클에서 발생하는 DML들을 하나의 논리적인 작업 단위(트랜잭션)로 처리한다. ( commit 이나 rollback이 사용되기 전까지 계속 처리한다. ) - 하나의 트랜잭션은 ALL - or -Nothing 방식으로 처리된다. - savepoint는 특정지점으로 작업을 취소해서 rollback하는 것이다. rollback to sp2; - SP2지점으로 롤백해줘! 목적 - 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구한다. 1. COMMIT - 저장되지 않은 모든 데이터를 데베에 저장하고 현재의 트랜잭션을 종료하라는 명령어 - comm..
-
[SQL] DDL - CREATE, DROP, ALTER, RENAME, TRUNCATEDatabase/SQL (oracle, mysql) 2019. 5. 28. 17:55
DDL ( Data Definition Language) - 데이터 정의어( AUTO COMMIT ) - CREATE, DROP, ALTER, RENAME, TRUNCATE 1. 일반적인 테이블 생성 CREATE TABLE 테이블명 ( 컬럼명1 자료형, 컬럼명2 자료형, ); 2. 서브쿼리를 이용한 테이블 생성 CREATE TABLE 테이블명 AS 서브쿼리; NOT NULL: 행 입력시 데이터를 반드시 전달받는다. 3. 서브쿼리를 이용한 테이블 생성: 원하는 컬럼과 행만 복사 CREATE TABLE 테이블 AS SELECT EMPNO, ENAME, JOB FROM EMP -- 어느 컬럼을 WHERE DEPTNO=30; -- 어느 조건에 4. 서브쿼리를 이용한 테이블 생성: 구조(컬럼, 자료형) 만 복사,..