본문 바로가기
IT 이론/데이터베이스

[데이터베이스] INSERT, DELETE, UPDATE Statement

by 지식id 2012. 11. 11.
반응형

INSERT Statement

 

테이블에 있는 칼럼의 순서와 데이터형식에 맞는 값을 차례로 적어 주어야 한다.

 

  1. INSERT INTO EMPLOYEE VALUES ('','Raisonde','','25','3000','1000','3');

 

또는 INSERT문에 있는 값에 대응하는 칼럼 이름을 명시적으로 지정 할 수 있다. 이렇게 할 경우 명시되지 않은 칼럼에는 NULL또는 DEFAULT 값을 가진다. DEFAULT값이 없고 NOT NULL인 경우 오류 발생.

 

  1. INSERT INTO EMPLOYEE(NAME, MANAGER, SALARY, BONUS, DNO) VALUES('Raisonde','25','3000','1000','3');

 

서브쿼리 또한 사용 가능하다.

 

  1. INSERT INTO EMPLOYEE VALUES('Raisonde','25','3000',(select dept_no from DEPT where dept_name = '개발'));

 

아래처럼 부질의의 결과로 생성된 다중 튜플들을 삽입 할 수도 있다.

 

  1. INSERT INTO DEPTS_INFO (DEPT_NAME, NO_OF_EMPS, TOTAL_SAL )
  2. SELECT DNAME, COUNT (*), SUM (SALARY)
  3. FROM DEPARTMENT, EMPLOYEE
  4. WHERE DNUMBER=DNO
  5. GROUP BY DNAME;

 

 

DELECT Statement

 

삭제할 튜플들의 조건을 WHERE 절에 명시한다.

 

  1. DELETE FROM EMPLOYEE WHERE NAME='Raisonde';

 

조건을 명시하지 않을 경우 해당 테이블 내의 모든 튜플을 삭제한다. (테이블을 비운다.)

 

  1. DELETE FORM EMPLOYEE;

 

WHERE 절의 조건에 따라 하나의 문으로 여러 튜플들을 동시에 삭제 할 수 있다.

 

  1. DELETE FORM EMPLOYEE WHERE DNO IN (SELECT dept_no FORM DEPT WHERE dept_name='개발');

 

 

UPDATE Statement

 

SET절에서 수정할 애트리뷰트와 값을 적어 주고 WHERE절로 수정할 튜플을 선택한다.

 

  1. UPDATE EMPLOYEE SET BONUS='1000' WHERE NAME='Raisonde';

 

마찬가지로 서브쿼리 사용 및, 한 UPDATE문으로 여러 튜플들을 수정 가능하다.

 

  1. UPDATE EMPLOYEE SET SALARY=SALARY*1.1
  2. WHERE DNO IN (SELECT dept_no FORM DEPT WHERE dept_name='개발');

 

*[데이터베이스]로 분류된 포스팅에 포함된 문들을 오타가 있을 수 있으며 특정 DBMS에서 테스트되지 않았습니다. 그냥 이론으로만 참고 하세요. 데이터베이스 내용은 박영철 교수님의 수업 자료를 바탕으로 하고 있으며, 그대로 차용된 설명 내용이나 예제가 있으니 맘대로 퍼가시면 안됩니다~

 

 

반응형

댓글