Data Manipulation Language
데이터 조회 및 변형을 위한 명령어
select, update, insert, delete
insert into 테이블명 values(값1, 값2, ..);
또는
insert into 테이블명 (컬럼1, 컬럼2, ..)
values (값1, 값2, ..);
/*
* 10, 기획실, 서울, 홍길동
* 20, 전산실, 부산, 이순신
* 30, 영업부, 광주, null
*/
INSERT INTO SAMPLE s values(10, '기획실', '서울', '홍길동');
INSERT INTO SAMPLE s values(20, '전산실', '부산', '이순신');
INSERT INTO SAMPLE s values(30, '영업부', '광주', null);
/*
* update
* - 부서번호가 30번 부서를 50번으로 변경
*/
UPDATE sample SET DEPTNO = 50
WHERE DEPTNO = 30;
SELECT * FROM SAMPLE s ;
;
UPDATE SAMPLE SET DEPTLOC = '인천'
WHERE DEPtNAME = '영업부'
;
DELETE sample WHERE deptname = '영업부'
;
Drop : 테이블의 존재 자체가 삭제
Truncate : 데이터만 통으로 삭제
-> 테이블이 삭제되는 명령어는 아니고 테이블 안에 들어있던 모든 레코드들을 제거하는 명령어
-> 테이블을 Drop 했다가 Create 한다.
-> 모든 행을 삭제하는 가장 빠르고 효율적인 방법
Delete : 데이터 골라서 삭제
-> delete는 truncate처럼 테이블 구조는 남기고 안에 데이터만 삭제한다.
-> delete는 부분삭제 가능
-> 내부방식이 다르다.(Truncate는 DDL, Delete는 DML) 한줄 한줄 삭제한다.
-> Truncate와 속도차이가 많이 난다. 복구 의지가 없을 때 Truncate 사용
Drop Truncate DELETE
-DDL -DDL -DML
-Rollback 불가능 -Rollback 불가능 -Commit 이전에 Rollback 가능
-Auto Commit -Auto Commit -AutoCommit
-테이블 자체를 완전 삭제 -테이블을 최초 생성된 -데이터만 삭제
-초기 상태로
-로그 안남음 -로그 안남음 -로그 남음