프로그래밍/Oracle

[Oracle] 데이터 입력/수정

eunki 2022. 6. 3. 17:15
728x90

SQL의 종류

  1. Query : SELECT 문의 6가지 절
  2. DML 문 (데이터 조작 언어) : insert, update, delete, merge
  3. DDL 문 (데이터 정의 언어) : create, alter, drop, truncate, rename
  4. DCL 문 (데이터 제어 언어) : grant, revoke
  5. TCL 문 (트랜잭션 제어 언어) : commit, rollback, savepoint

 

 

 

 

insert into 테이블명(데이터를 입력할 컬럼명)
    values(입력할 데이터);

 

 

 

null 값을 테이블에 입력하는 방법

1. 암시적으로 입력

insert into emp(empno, ename, sal)
    values(2912, 'jane', 4500);

데이터가 없는 상태를 “결측치” 라고 한다.

 

 

 

2. 명시적으로 입력

insert into emp(empno, ename, sal)
    values(3456, null, 3200);
insert into emp(empno, ename, sal)
    values(2345, '', 3500);

싱글 쿼테이션 마크를 두 개 붙여서 입력하면 null이 입력된다.

 

 

 

예제 1. 사원 테이블에 데이터를 입력하는데, 사원 번호는 2812, 사원 이름은 jane, 월급은 4000, 입사일은 2022년 6월 3일, 직업은 ANALYST 로 입력

insert into emp(empno, ename, sal, hiredate, job)
    values(2812, 'jane', 4000, to_date('2022/06/03', 'RRRR/MM/DD'), 'ANALYST');

날짜 데이터를 입력할 때는 to_date 함수를 이용해서 날짜를 입력한다.

그러면 어느 나라에서든 오류 없이 입력이 가능하다.

 

 

 

예제 2. 부서 테이블에 데이터를 입력하는데, 부서 번호 50, 부서명 HR, 부서 위치 SEOUL 로 입력

insert into dept(deptno, dname, loc)
    values(50, 'HR', 'SEOUL');
insert into dept
    values(50, 'HR', 'SEOUL');

테이블명 뒤에 괄호와 함께 컬럼명을 쓰지 않았다면 VALUES 다음에 모든 컬럼들의 데이터를 다 기술하면 된다.

 

 

 

update 테이블명
    set 어떻게 변경 할 것인지
    where 어떤걸 변경 할 것인지

where 절 없이 update 문을 수행하게 되면 해당 테이블 컬럼의 모든 행이 모두 같은 값으로 갱신 된다.

 

 

 

예제 3. SCOTT 의 월급을 3200으로 수정

update emp
    set sal = 3200
    where ename = 'SCOTT';
728x90