ORACLE SQL

테이블 & 데이터

마이구미2 2021. 2. 24. 10:30

테이블

 

테이블 생성 CREATE

-- 새로운 테이블 생성
CREATE TABLE 테이블명(
    컬럼명	데이터타입	제약조건,
    컬럼명	데이터타입	제약조건,
    .
    .
    .
);


-- 기존 테이블 복사하여 테이블 생성
-- 테이블 구조 및 데이터 복사
CREATE TABLE 생성할_테이블명 
AS
SELECT 컬럼명
FROM 복사할_테이블명
WHERE 조건;

-- 테이블 구조만 복사
CREATE TABLE 생성할_테이블명 
AS
SELECT 컬럼명
FROM 복사할_테이블명
WHERE [flase조건];

 

테이블 컬럼 변경 ALTER

-- 컬럼 이름 변경
ALTER TABLE 테이블명 RENAME COLUMN 변경전_컬럼명 TO 변경후_컬럼명;

-- 컬럼 데이터타입 변경
ALTER TABLE 테이블명 MODIFY (컬럼명 데이터타입);

-- 컬럼 추가
ALTER TABLE 테이블명 ADD (컬럼명 데이터타입);

-- 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

* 테이블 편집을 통해 손쉽게 변경 가능하여 쿼리문 잘 사용하지 않음

 

 

테이블 이름 변경 RENAME

RENAME 변경전_테이블명 TO 변경후_테이블명;

 

테이블 삭제 DROP

-- 테이블과 데이터 삭제
DROP TABLE 테이블명;

-- 제약조건까지 삭제
DROP TABLE 테이블명 CASCADE CONSTRAINTS;

-- 삭제한 테이블을 휴지통에 넣지 않고 삭제
DROP TABLE 테이블명 PURGE;

-- 테이블, 데이터, 제약조건 바로 삭제
DROP TABLE 테이블명 CASCADE CONSTRAINTS PURGE;

 

테이블 데이터 삭제 TRUNCATE

TRUNCATE TABLE 테이블명;

 

테이블 구조 DESCRIBE

DESC 테이블명;
DESCRIBE 테이블명;

 


데이터

 

데이터 삽입 INSERT

INSERT INTO 테이블명 [컬럼목록] VALUES [데이터목록];

-- 모든 필드 데이터 입력
INSERT INTO 테이블명 VALUES(데이터1, 데이터2, ... );

-- 원하는 필드만 원하는 순서대로 입력
INSERT INTO 테이블명(컬럼명1, 컬럼명2) VALUES(데이터1, 데이터2);


-- 서브쿼리를 사용하여 한 번에 여러 데이터 추가
INSERT INTO 테이블명
    SELECT *
    FROM 데이터_가져올_테이블명
    WHERE 조건;

* 원하는 필드만 입력했을 경우 나머지 필드는 NULL 값으로 채워짐

* NULL 입력하고 싶을 경우, NULL 또는 ' ' 입력

 

- 날짜 입력 방법

-- 년 월 일 순서 표기
'2001/01/07'
'2001-01-07'

-- 다른 순서 표기
TO_DATE('07/01/01', 'DD/MM/YYYY')

-- 현재 시점 날짜
SYSDATE

 

데이터 수정 UPDATE

-- 전체 행 수정
UPDATE 테이블명 SET 컬럼명 = 데이터;

-- 특정 행 수정
UPDATE 테이블명 SET 컬럼명 = 데이터
WHERE 조건;

-- 여러 행 수정
UPDATE 테이블명 SET 컬럼명1 = 데이터1, 컬럼명2 = 데이터2, ...
WHERE 조건;


-- 서브쿼리를 사용하여 한 번에 여러 데이터 수정
UPDATE 테이블명
SET (컬럼명1, 컬럼명2) = (
    SELECT 컬럼명1, 컬럼명2
    FROM 데이터를_가져올_테이블명
    WHERE 조건)
WHERE 조건;

UPDATE 테이블명
SET 컬럼명1 = (
    SELECT 컬럼명1
    FROM 데이터를_가져올_테이블명
    WHERE 조건),
    컬럼명2 = (
    SELECT 컬럼명2
    FROM 데이터를_가져올_테이블명
    WHERE 조건)
WHERE 조건;

-- WHERE절에 서브쿼리 사용
UPDATE 테이블명
SET 컬럼명1 = 데이터
WHERE 컬럼명2 = (
    SELECT 컬럼명2
    FROM 테이블명
    WHERE 조건);

 

데이터 삭제 DELETE

-- 전체 행 삭제
DELETE FROM 테이블명;

-- 특정 행 삭제
DELETE FROM 테이블명
WHERE 조건;

-- WHERE절에 서브쿼리 사용
DELETE FROM 테이블명
WHERE 컬럼명 IN(
    SELECT 컬럼명
    FROM 데이터를_가져올_테이블명
    WHERE 조건);

'ORACLE SQL' 카테고리의 다른 글

단일행 함수  (0) 2021.02.26
연산자  (0) 2021.02.25
SELECT문  (0) 2021.02.24
데이터 형식  (0) 2021.02.24
SQL 기본  (0) 2021.02.24