SQL
MySQL - [ View ]
1. View - 하나이상의 테이블을 기반으로 생성은 되었으나 물리적으로 존재하지는 않고 DB에 정의만 되어 있는 가상의 논리적인 테이블 - 목적 : ① 보안에 도움이 된다. ② 복잡한 쿼리 구문을 단순화 시킬 수 있다. - DML을 사용하여 VIEW의 레코드를 수정하면 VIEW가 참조한 기본 테이블의 레코드도 수정된다. - VIEW를 통한 DML 작업 시 base table에 선언된 제약조건을 만족해야한다. - 사용방법 : 테이블과 동일하게 사용된다. -- 뷰 생성 create view 뷰이름 as select * from departments where department_id > 200; -- 뷰 조회 select * from 뷰이름; -- 뷰 데이터 삽입 insert into 뷰이름 values ..
MySQL - [ TCL(트랜잭션 제어어) - commit / rollback ]
트랜잭션이란 하나의 논리적인 작업 단위로, 여러 개의 DML(insert, update, delete)이 하나의 트랜잭션을 구성할 수 있다. 혹은 하나의 DDL(Create, Alter, Drop, Truncate)이 하나의 트랜잭션을 구성한다. (만약 workbench에서 Auto-Commit이 설정되어 있으면 자동으로 저장되므로, DML 하나가 하나의 트랜잭션이 됨!) * DDL은 명령어 자체에 autocommit 내장되어있음 * DML은 설정에 따라 다름 - auto on : autocommit - auto off : commit 또는 rollback 실행해야함. 안그러면 계속 임시데이터 상태임! commit - 변경 작업을 영구히 저장하는 명령 SQL> commit; ..
MySQL - [데이터조작어(DML) - Insert / Update / Delete ]
* 테이블의 데이터 변경을 위한 SQL문 -> 데이터 조작어(DML : Data Manipulation Language) - 테이블에 새로운 행 추가(insert) - 테이블의 기존 행 수정(update) - 테이블의 기존 행 삭제(delete) 1. Insert - 데이터 삽입을 위한 SQL문 SQL> insert into 테이블명[(컬럼1, 컬럼2, 컬럼3, ...)] values (값1, 값2, 값3, ...); - 컬럼 리스트를 나열한다면 값 리스트 수와 같아야 함. 생략된 컬럼에는 null값 자동 삽입됨. - 컬럼 리스트 생략하면 값을 기본 컬럼 순서대로 다 넣어줘야함. - 데이터 삽입 시 제약조건 유의 : 문자 및 날짜는 작은 따옴표로 묶어서 표현 / 날짜 : 년도–월-일 순서로 작성 ex)'..