본문 바로가기
카테고리 없음

오라클 데이터 조회/삽입/삭제/갱신

by cook_code 2023. 6. 7.
반응형

이전 글에서 테이블 crud 쿼리 사용하는 법을 배웠으니 컬럼별 데이터를 조작하는 방법에 대해서도 알아보겠습니다. 

테이블 crud 개념을 보고 싶으시다면 이 부분을 클릭하시면 됩니다. 

데이터 조회, 수정, 삽입, 삭제 방법의 형식 및 예시를 적어보았습니다. 

 

데이터 조회 SELECT 

  • 형식
select 컬럼명1, 컬럼명2, ... from 조회할테이블명
  • 전체 데이터를 조회하고 싶은 경우 
select * from 테이블명
  • 예시 
-- tb_emp 테이블의 전체 데이터 조회 
SELECT * FROM tb_emp;

-- tb_emp 테이블에 있는 emp_no, emp_nm 데이터 조회 
SELECT emp_no, emp_nm FROM tb_emp;
  • 결과 

1. 전체 데이터 조회 2. 특정 컬럼 데이터 조회

  • SELECT 문 작성 규칙
더보기

 

- 대문자와 소문자를 구분하지 않는다. 

- 가독성을 향상을 위해 예약어(명령어)는 대문자로 작성하는 것이 좋다. 

- 가독성 향상을 위해 한줄 내려쓰기, 들여쓰기를 활용하는 것이 좋다.

  • DISTINCT 중복제거 
SELECT DISTINCT 컬럼명 FROM 테이블명;

중복을 제거하고 싶은 컬럼명 앞에 쓰인다. 

  • AS 별칭 ALIAS
SELECT 컬럼명1 AS A, 컬럼명2 AS B, 컬럼명3 AS C... FROM 테이블명;

조회 결과 테이블의 열 이름을 별칭 AS 로 지정해줄 수있다. 

혹은 조인으로 인해 여러개의 테이블이 사용되거나

겹치는 컬럼명이 있는 경우 혼동을 막기 위해 테이블명에 AS 테이블별칭을 지정하기도 한다. 

  • ORDER BY ASC, DESC
-- 작은 값부터 순서대로 정렬
SELECT * FROM TB_EMP ORDER BY EMP_NO ASC;
-- 큰 값부터 순서대로 정렬
SELECT * FROM TB_EMP ORDER BY EMP_NO DESC;

 

데이터 수정 UPDATE

  • 형식
UPDATE 수정하려는 컬럼이 있는 테이블명 SET 컬럼명 = '바꿀값' WHERE 기준컬럼 = '기준값';
  • 예제 
UPDATE TB_EMP SET BIRTH_DE = '19971215' WHERE EMP_NM = '최창수';
  • 결과

업데이트 전
업데이트 후

  • 잘못 수정한 경우 

COMMIT이 되기 전 ROLLBACK을 한다. 

이미 COMMIT되었다면 ROLLBACK으로 데이터 복구가 불가하며

오라클 데이터베이스를 일정 시간 이전으로 되돌리는 방법을 사용해야 한다. 

※ 데이터 수정 시 주의사항

  1. WHERE 조건절로 데이터를 특정해주지 않으면 테이블의 전체 데이터가 수정된다. 
  2.  

데이터 삽입 INSERT

  • 형식 
INSERT INTO 테이블명 (컬럼명1, 컬럼명2, 컬럼명3) VALUES (데이터1, 데이터2, 데이터3);
  • 모든 컬럼의 데이터를 삽입하는 경우 
INSERT INTO 테이블명 VALUES (데이터1, 데이터2, 데이터3);

 

※ 데이터 삽입 시 주의사항

  1. 컬럼명과 컬럼에 해당하는 데이터 값을 동일한 순서로 작성해야 한다. 
  2. 모든 컬럼의 값을 삽입하는 경우 컬럼명은 적지 않아도 되나 컬럼 순서대로 데이터를 작성해야 한다. 

 

데이터 삭제 DELETE

  • 형식 
DELETE FROM 테이블명 WHERE 조건;
  • 예시 
DELETE FROM COMPANY_TABLE WHERE COMPANY_CODE = 1;

 

※ 데이터 삭제 시 주의사항

WHERE 조건절로 데이터를 특정해주지 않으면 테이블의 전체 데이터가 삭제된다.

 

  • 제약조건 상관없이 데이터 삭제하고 싶을 때 
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명 CASCADE;
-- 삭제하고 싶은 김려원이라는 직원의 전체 데이터를 조회한다. 
SELECT * FROM TB_EMP WHERE EMP_NM LIKE '김려원';

-- EMPNO에 제약조건이 걸려있어 삭제가 되지 않는 상황이라면
-- 제약조건명 PK_PB_EMP를 먼저 삭제한다. 
ALTER TABLE TB_EMP DROP CONSTRAINT PK_TB_EMP CASCADE;

-- 김려원의 모든 데이터를 삭제
DELETE FROM TB_EMP tc WHERE EMP_NM LIKE '김려원';

 

 

반응형