데이터베이스

[Oracle] 데이터 입력과 삭제

포포015 2021. 2. 9. 10:14

DML 문장중 데이터 입력 기능을 하는것은 INSERT 문 뿐이다.

가장 기본적인 형태의 INSERT 구문은 아래와 같다

1
2
3
4
INSERT 구문1
 
INSERT INTO 테이블명 ( column1, column2, column3)
VALUES (값1, 값2);

insert into emp03(emp_id,emp_name, gender, age,hire_date)
values (4,'신사임당','여성',45,'2018-01-01');
cs

주의 할점은, 컬럼을 명시한 순서와 값의 순서가 같아야함!(또한 데이터형도 서로맞아야함.)

날자 같은경우에는 문자처럼 넣었지만 오라클이 우리 대신 날짜로 변환해서 넣어준다.

 

오라클이 체크하는 규칙은 크게 두가지가 있는데,

1. NOT NULL 컬럼에 데이터를 넣지않은경우와,

2. 기본키가 설정된 컬럼에 중복된 데이터를 넣은경우 오류를 반환하며 입력작업을 취소

   ( 기본키를 생성하면 자동으로 유일한 인덱스가 만들어져 중복값 입력을 불허 한다)

 

1
2
3
4
INSERT 구문2
 
INSERT INTO 테이블명 
VALUES (값1, 값2);
cs

두번째 구문에는 컬럼을 명시한 부분이 빠져있다,

컬럼을 명시하지 않았다는것은 모든 컬럼에 데이터를 넣는다는것을 의미한다.

(일반적으로 INSERT 문장 작성시, 컬럼 전체든 일부든 일일히 컬럼 명을 명시하는것이 좋다! 잘못매핑 될 가능성 있음)

 

올바른 데이터를 입력한 뒤 에는 COMMIT 문장을 실행해야 데이터 베이스에 저장된다.

반대로 입력한 작업을 취소하고싶다면 ROLLBACK 문장 실행

 

데이터 삭제, DELETE문

1
2
3
4
5
6
7
8
DELETE 문
 
DELETE FROM 테이블명 
WHERE 조건
 
DELETE FROM EMP03
WHERE EMP_ID = 1
 
cs

DELETE 다음에 데이터를 삭제할 대상 테이블명을 명시하고,

해당 테이블에서 어떤데이터를 지울것인지 WHERE 절에 명시 한다.