데이터 조작어를 의미한다.
DATA Manipulation language
데이터 조회 및 변형을 위한 명령어를 말한다.
select, update, delete, insert를 사용하며,
데이터 값을 집어넣을 때는
insert into 테이블명 values(값1,값2,..)//이렇게 한번에 쓰는 형태
insert into 테이블명(컬럼1,컬럼2..)
values(값1,값2...)//이렇게 띄어 쓰는 형태가 있다.
update 테이블명 set 컬럼1 = 값1,컬럼2 = 값2
where 조건
-delete (from)테이블명 where 조건;
업데이트와 DELETE의 양식
셋을 비교하며 글을 작성해보려 한다.
우선 DROP은 테이블 존재자체를 삭제한다는 의미이고, truncate는 데이터만 통으로 삭제한다는 의미이다.
마지막 DELETE는 데이터를 골라서 삭제한다.
조금 더 자세히 말해보면, TRUNCATE의 경우 테이블이 삭제되는 명령어는 아니고 테이블 안에 들어있던 모든 레코드들을 제거하는 명령어이다.
즉 테이블을 drop했다가 create한다.
->모든 행을 삭제하는 가장 빠르고 효율적인 방법(복귀의 의지없음)
DELETE의 경우는 truncate처럼 테이블 구조는 남기고 안의 데이터만 삭제한다.
->delete는 부분삭제 가능하다.
->내부방식이 다르다. 한줄한줄 삭제를 한다.(내용이 어느정도 남는다)
표로 알기 쉽게 정리해 나타내어 보자
그렇다면 ROLLBACK, COMMIT이 무엇인지 알아야 위의 표도 이해 가능 할 텐데, 먼저 COMMIT부터 알아보자.
COMMIT은 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어이다.
ROLLBACK은 작업 중에 문제가 발생했을 때 트랜잭션의 처리 과정에서 발생한 변경사항을 취소하고, 트랜잭션 과정을 종료시킨다
결국 실제로 서버를 운영하는데 있어서 돌발상황에 대비해 항상 트랜잭션을 걸어놓아야 한다.
commit ,rollback 명령어의 장점
- 데이터 무결성이 보장된다.
- 논리적으로 연관된 작업을 그룹화할 수 있다.
자동 commit되는 경우
자동 rollback되는 경우
컬럼 속성(무결성 제약조건)
무결성 제약조건이란 데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제, 수정 등을 제약하기 위한 조건을 뜻한다.
-not null : 널 값이 입력되지 못하게 하는 조건
-unique : 중복된 값이 입력되지 못하게 하는 조건
-check : 주어진 값만 허용하는 조건
-primary key : not null + unique + index 의 의미
-foreign key : 다른 테이블의 필드(컬럼)를 참조해서 무결성을 검사하는 조건
데이터 제어어(data control language)