트랜잭션 데이터 일관성을 유지시키려는 목적으로 사용하는 논리적으로 연관된 작업들의 집합 / 일련의 일의 작업 단위이다. 이런 트랜잭션에는 하나 이상의 연관된 DML 구문과 하나 이상의 DDL 구문이 들어간다. 트랜잭션 시작 첫 번째 DML 구문이 실행될 때 시작됨 트랜잭션 종료 COMMIT / ROLLBACK 명령이 실행될 때 종료(COMMIT) DDL 구문이 실행될 때 종류 -> (AUTO COMMIT) 비정상적으로 DBMS 종료되는 경우 -> AUTO ROLLBACK DDL을 중간에 쓰게되면 AUTO COMMIT이 돼서 저장이 되어버린다. 그래서 보통 DDL을 중간에 안쓴다. DDL은 초반과 마지막에 들어간다. --commit을 통한 트랜잭션 종료 INSERT INTO ~ UPDATE ~ COMMIT..
INSERT 테이블에 데이터를 넣는 작업 --구문 INSERT INTO table_name[(column_name,[column_name])] VALUES (value1,[value2 ...]) 다양한 INSERT 하는 방법 1. 모든 칼럼 이름을 명시하는 방법 2. 칼럼을 생략하는 방법(모든 값을 입력할 때만 가능하다) 3.NULL 입력하는 방법 1)암시적 방법 - INSERT INTO 절에서 해당 칼럼 이름 생략 2) 명시적 방법 - VALUES 절에서 NULL 키워드나 '' 사용 지금 현재 위에 INSERT와 비교해 보면 칼럼과 값이 생략되어 있다. 4.DEFAULT로 INSERT하는 방법 DEFAULT 설정된 컬럼 이름을 생략하면 DEFAULT 값이 입력됨 5. 서브 쿼리로 INSERT 하는 방법..
DDL( Data Definition Language ) - 데이터 정의어 컴퓨터 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의하는 컴퓨터 언어 또는 컴퓨터 언어 요소이다. DDL에서는 이렇듯 데이터 정의를 하게 되는데 여기서 쓰는 데이터 정의는 데이터베이스 객체들을 정의 하는 것이다. 데이터베이스 객체는 테이블, 뷰, 인덱스, 시퀀스, 파티션 테이블 등등이 있다. 종류 CREATE - 새로운 데이터베이스 관계 (테이블), VIEW, 인덱스, 저장 프로시저 만들기 DROP - 이미 존재하는 데이터베이스 관계(테이블), 뷰, 인덱스, 저장 프로시저를 제거한다. ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경, RENAME의 역할을 한다. TRUNCATE - 관계 (테이블)에서 데..
테이블 생성하기 CREATE TABLE table_name (column_name datatype [DEFAULT expr] [column_constraint], [table_constraint ]) column_constraint - 컬럼수준에서 제약조건을 거는것 / 각 컬럼마다 적는다. table_constraint - 컬럼을 다 만들고 마지막에 테이블 수준에서 제약조건을 건다. table_name, column_name - 테이블 이름 지정, 컬럼 이름 지정 datatype - 컬럼의 데이터 타입, 크기 지정 DEFAULT expr - 해당 컬럼에 적용될 자동 기본값 테이블 생성 조건 테이블 및 컬럼 이름 문자로 시작 , 30자 이하 영문대/소문자, 숫자, 특수문자, 한글만 포함가능 중복되는 이름은..
Subquery 서브 쿼리란 하나의 쿼리가 다른 쿼리에 포함되는 구조로서 다른 쿼리에 포함된 내부 쿼리는 외부 쿼리에 사용 될 값을 반환하는 역할을 한다. 서브쿼리는 메인쿼리에게 데이터를 넘겨주는 것 이다. SELECT FROM WHERE expr operator( SELECT ... FROM ... WHERE ... ) ; 식의 구문으로 이루어진다. Subquery의 유형은 총 4개다 단일(행) - 단일열 / 다중열 다중(행) - 단일열 / 다중열 으로 나뉜다. 여기서 열은 행열 할때 열이다. 단일 다중은 행을 나타낸다. 단일 행일 경우 비교 연산자(=, > ,>= , ANY : 비교 대상 중 최소 값 보다 큼 = ANY : IN 연산자와 동일 ALL 연산자는 < ALL: 비교 대상 중 최소 값 보다도..