본문 바로가기
SQL

SQL insert, update, delete

by hj_it 2024. 2. 2.
DML

 - 종류: INSERT(추가), UPDATE(변경), DELETE(삭제)

- DML 문을 작성한 후에는 TCL을 통해 작업을 종료해야 한다.

- TCL: COMMIT(저장), ROLLBACK(리턴)

 

INSERT
INSERT INTO 테이블명 (컬럼1, 컬럼2, ......)
VALUES (컬럼1 값, 컬럼2 값, .......);

- 기존에 만들어진 테이블에 값을 추가할 때 사용한다.

 

UPDATE
UPDATE 테이블명 SET 컬럼명 = 변경할 값
WHERE 조건;

- 테이블의 컬럼 값을 변경할 때 사용한다.

- WHERE 절의 조건을 작성하지 않으면 모든 컬럼의 값이 변경된다.

 

DELETE
DELETE FROM 테이블명
WHERE 조건;

- 테이블의 값을 삭제할 때 사용한다.

- WHERE 절의 조건을 작성하지 않으면 테이블의 모든 컬럼의 값이 삭제된다.

 

실습

1. 다음 INSERT 문을 실행하고 입력 결과를 확인한다.

     SQL> INSERT INTO emp (eno,hdate) VALUES (5, TO_DATE('12', 'MM'));

     SQL> INSERT INTO emp (eno,hdate) VALUES (6, TO_DATE('10', 'DD'));

     SQL> INSERT INTO emp (eno,hdate) VALUES (7, TO_DATE('9', 'HH24'));

     SQL> INSERT INTO emp (eno,hdate) VALUES (8, TO_DATE('12', 'MI'));

     SQL> INSERT INTO emp (eno,hdate) VALUES (9, TO_DATE('20', 'SS'));

     SQL> INSERT INTO emp (eno,hdate) VALUES (10, sysdate);

 

2. Emp 테이블의 행을 모두 삭제하고 다음 제시된 데이터를 입력한다.

     2001 남궁연호 남 개발 0202 1993/12/13 3950 200 10

     2002 제갈민 남 개발 0202 1996/04/30 1520 2000 20

     2003 정의찬 남 개발 0202 1992/03/03 4350 30

     2007 이초록 남 개발 0001 1992/09/05 1989 2300 30

     2008 윤고은 여 개발 0001 1992/03/03 2100 40

DELETE FROM emp;
INSERT INTO emp (eno, ename, sex, job, mgr, hdate, sal, comm, dno)
VALUES ('2001', '남궁연호', '남', '개발', '0202', '1993/12/13', 3950, 200, '10');
INSERT INTO emp (eno, ename, sex, job, mgr, hdate, sal, comm, dno)
VALUES ('2002', '제갈민', '남', '개발', '0202', '1996/04/30', 1520, 2000, '20');
INSERT INTO emp (eno, ename, sex, job, mgr, hdate, sal, comm, dno)
VALUES ('2003', '정의찬', '남', '개발', '0202', '1992/03/03', 4350, NULL, '30');
INSERT INTO emp (eno, ename, sex, job, mgr, hdate, sal, comm, dno)
VALUES ('2007', '이초록', '남', '개발', '0001', '1992/09/05', 1989, 2300, '30');
INSERT INTO emp (eno, ename, sex, job, mgr, hdate, sal, comm, dno)
VALUES ('2008', '윤고은', '여', '개발', '0001', '1992/03/03', 2100, NULL, '40');

 

3. 모든 학생의 성적을 4.5만점 기준으로 수정한다.

UPDATE student SET avr = avr*4.5/4.0;

4. 모든 교수의 부임일자를 100일 앞으로 수정한다.

UPDATE professor SET hiredate = TRUNC(hiredate, 'DD') - 100;

5. 화학과 2학년 학생의 정보를 삭제한다.

DELETE FROM student
WHERE major = '화학' AND syear = 2;

6. 조교수의 정보를 삭제한다.

DELETE FROM professor
WHERE orders = '조교수';

'SQL' 카테고리의 다른 글

제약 조건 PK, FK  (0) 2024.02.26
SQL 테이블 생성과 테이블 타입(DDL)  (0) 2024.02.26
SQL select - 실습16  (0) 2024.02.01
SQL select - 실습15  (0) 2024.02.01
SQL select - 실습14  (0) 2024.02.01