DAY4. DDL & DML

sumin·2023년 7월 3일
0

아카데미

목록 보기
4/82
post-thumbnail

DDL(Data Definition Language)

DDL이란 데이터베이스를 정의 하는 언어로 데이터와 데이터 간의 관계를 정의하여 데이터베이스 구조를 설정하는 SQL문이다. 데이터베이스 객체를 생성/수정/삭제하는 기능을 담당한다. 한번 시뢩을 한 후에는 작업을 취소할 수 없다.

DDL의 종류

  1. CREATE
    1)TABLE 무결성 제약 조건
    ① NOT NULL
    ② UNOQUE
    ③ CHECK
    ④ PRIMARY KEY
    ⑤ FOREIGN KEY

    2) DATA TYPE
    ① CHAR
    ② VARCHAR2 (CHAR와 VARCHAR2의 차이는 텍스트를 넣었을때 위에 공백이 생기는가 차이로 VARCHAR2는 공백이 생기지 않아 저장공간의 낭비가 없음)
    ③ DATE (세기,연,월,일,시,분,초)
    ④ CLOB
    ⑤ NUMBER

  1. ALTER
    1)ALTER TABLE 테이블 명 ADD 칼럼명 테이터타입
    2)ALTER TABLE 테이블 명 MODIFY 칼럼명 데이터 타입
    3)ALTER TABLE 테이블 명 DROP 칼럼명
    4)ALTER TABLE 테이블 명 RENAME COULMN 칼럼명 TO 새칼럼명
    5)ALTER TABLE 테이블 명 RENAME TO 새테이블 명
  1. DROP (한번 실행하면 복구 할 수 없기 때문에 주의 하여야 한다. )
    1)DROP TABLE 테이블명
    2)DROP TABLE 테이블명 CASCADE CONSTRAINTS
  1. TRUNCATE (테이블의 구조는 남기고 모든 행만 삭제하는 명령)
    1)TRUNCATE TABLE 테이블명

DML(Data Manipulation Language)

DMLD이란 데이터 조작어로 정의된 데이터베이스에 데이터를 삽입하거나 수정,삭제하는 역활을 수행하는 SQL문이다. 실행 후에 작업의 완료 또는 취소 처리가 가능하다.

DML의 종류

  1. INSERT
    1)INSERT INTO 테이블명(칼럼명1,칼럼명2,...) VALUES(칼럼1데이터, 칼럼2 데이터,....)
    ①테이블의 모든 칼럼에 데이터를 순서대로 넣는다면 칼럼명을 생략할 수 있다.
  2. UPDATE
    1)UPDATE 테이블명 SET 칼럼1 = 값1,칼럼2 =값2
  3. DELETE
    1)DELETE FROM 테이블명

시퀀스(Sequence)

시퀀스는 순차적으로 증가하는 일련번호를 생성하는 데어터베이스 처리어이다.

시퀀스 생성

CREATE SEQUENCE 시퀀스명
	INCREMENT BY n  		-증감값 n(기본값1)
	START WITH n			-시작값 n(기본값1)
	MAXVALUE n | NOMAXVALUE -최대값 n 
	MINVALUE n | NOMINVALUE -최소값 n
	CYCLE | NOCYCLE 		-번호 순환 유무(MAXVALUE 도달 시  MINVALUE부터 다시 시작)
	CACHE n | NOCACHE 		-메모리캐시 사용 여부 (중간에 날라가면 날라간 다음부터 시작)
	ORDER | NOORDER			-순차적 번호 사용 여부(OREDER 순차적 번호 모두 사용)

시퀀스를 생성하고 나서
INSERT INTO 테이블명(칼럼명1,칼럼명2,...) VALUES(칼럼1데이터, 칼럼2 데이터,....)에 필요한 데이터에 넣으면 된다.
넣을때에는 시퀀스명.CURRVAL 으로 넣어주면 된다.

트랜잭션(Transaction)

트랜잭션데이커베이스에서 처리되는 여러 SQL 명령들을 하나의 논리적 작업 단위로 처리하는것이다. 작업이 시작되면 중간에 멈추지 않고 반드시 종료해야하는 작업이다.

DML은 데이터를 입력하거나 수정을 한 뒤에는 반드시 저장을 하여야한다. 이를 위한 처리어는 COMMIT이다. COMMIT; 만 입력하면 저장이 된다. DML은 취소도 가능한데 이는 COMMIT으로 저장하고 여러 DML SQL문을 실행하였을 때 마지막 COMMIT으로 돌아갈 수있다. 이를 ROLLBACK; 실행어로 수행할 수 있다.

profile
백엔드 준비생의 막 블로그

0개의 댓글