DB

[Oracle] DML, DDL

_해랑 2022. 2. 15. 23:41

# DML

   : 데이터 조작 언어 - 즉, ROW 조작만 함. 다른거 못함! 

 

 

INSERT

ROW 삽입.

INSERT INTO 테이블명
VALUES( 데이터, 데이터, ...)

--순서 맞춰야함.
INSERT INTO 테이블명(컬럼명, 컬럼명,...)
VALUES(데이터, 데이터,...)
--VALUES 대신 서브쿼리 가능

INSERT INTO 테이블명
SELECT * 
	FROM EMP
    WHERE DEPTNO = 30;

 

UPDATE

ROW 수정.

UPDATE 테이블명
SET 컬럼명 = 데이터    --,로 구분해서 더 연결 가능.
WHERE 조건;            --일부만 수정하고 싶을 때. 안 쓰면 전부 바뀜.

 

DELETE

ROW 삭제.

DELETE FROM 테이블명
WHERE 조건;          --안쓰면 모든 행 지움.

 

 

 

# DDL

 :데이터 정의 언어 - 즉, 데이터가 정의되는 곳, 테이블 형태 조작.

 

CREATE

테이블 생성.

CREATE TABLE 테이블명
(컬럼명 자료형,
컬럼명 자료형);
--서브쿼리 가능
--기존 테이블의 일부/전체를 가져오고 싶을 때
CREATE TABLE 테이블명
AS
SELECT *
	FROM EMP;

 

ALTER

테이블 변경...이라기보다는 컬럼에 관한 것 변경.

--테이블에 ROW 추가
ALTER TABLE 테이블명
ADD 컬럼명 자료형;
--테이블 컬럼의 '자료형' 수정
ALTER TABLE 테이블명
MODIFY 컬럼명 자료형;

--테이블 컬럼의 '컬럼명' 수정
ALTER TABLE 테이블명
RENAME COLUMN 이전컬럼명 TO 바꿀컬럼명;
--컬럼 삭제
ALTER TABLE 테이블명
DROP COLUMN 컬럼명;

자료형이 안들어가면 COLUMN을 써줘야 하는듯.

 

DROP

테이블 삭제.

DROP TABLE 테이블명;

 

TRUNCATE

테이블 안의 데이터 삭제. 존재 자체 말고.

TRUNCATE TABLE 테이블명;

 


DML - IUD

DDL - CADT