Keep going

3. DML (Data Manipulation Language) 본문

Records/DBMS

3. DML (Data Manipulation Language)

코딩천재홍 2021. 1. 27. 18:00

데이터 다룰때 사이클 기본 : CRUD (Create + Read + Update + Delete)

  테이블, 사용자 → DDL 명령어 레코드 → DML 명령어
생성  CREATE INSERT
읽기 SELECT SELECT
수정 ALTER UPDATE
삭제  DROP DELETE

 

SQL 명령문 작성 기본

SQL 명령문과 키워드들은 대소문자 가리지 않는다.

문자열은 홀따옴표 '~' 로 감싼다. 문자열 내의 내용은 대소문자 가린다.

여러줄에 걸쳐 명령문 입력 가능

명령문입력이 끝나면 세미콜론 입력

DML은 COMMIT 명령을 실행하기 전까지는 임시저장만 된다. COMMIT; 을 해야만 데이터베이스로 내용이 업데이트 된다.

 

1. INSERT - 테이블에 레코드 추가

INSERT INTO [테이블 이름] VALUES (값1, 값2..) - 컬럼이름이 생략된 경우 ,모든 컬럼의 값을 VALUES 다음에 넣어줘야함

INSERT INTO [테이블이름] (컬럼1, 컬럼2) VALUES (값1, 값2...)

 

2. SELECT - 테이블 내용 레코드 보기

SELECT 컬럼1, 컬럼2 ... FROM [테이블 이름]

SELECT * FROM [테이블이름]

 

컬럼, 페이지 조정 : SET, COL 

SET LINESIZE 120; 

SET PAGESIZE 100;

COL id FOR 999;     

COL name FOR a8;    

COL phone FOR a13; 

COL email FOR a20;

COL age FOR 99; 

COL memo FOR a10; 

COL regdate FOR a10;

 

SEQUENCE 객체

오라클은 내부적으로 다양한 객체들을 제공

SEQUENCE도 그중 하나 → 사용될때마다 내부적으로 일정량씩 증가하는 객체

숫자 타입 + PK로 정한 필드는 일반적으로 SEQUENCE 객체와 연동하여 운용하여, INSERT 될때마다 항상 새로운값이 부여될수 있게 한다.

 

CREATE SEQUENCE [시퀀스 이름]

일정한 규칙에 의해 값이 연속적으로 자동 증가/감소할 때 사용하는 오라클 객체 일반적으로 테이블의 uid 컬럼 등 primary key의 역할을 하는 컬럼에 적용시킴

 

시퀀스 객체는 생성되면 seq 테이블에 정보가 저장된다.

 

3. 레코드 수정 - UPDATE

UPDATE [테이블이름]

SET [컬럼이름]=[데이터], ...

WHERE [조건식]

 

WHERE 조건식이 없으면 모든 레코드에 UPDATE가 적용되니 주의

 

4. 레코드(데이터) 삭제 - DELETE

DELETE (FROM) [테이블이름]

WHERE [조건식]

 

WHERE 조건식이 없을 경우, 테이블의 모든 레코드가 삭제된다.

 

TCL 명령 : COMMIT, ROLLBACK

INSERT, UPDATE, DELETE 등의 DML 명령은 메모리상의 데이터에만 적용된 상태

이를 DATABASE 에 저장하려면 반드시 COMMIT;을 해야한다.

 

COMMIT; > 파일로 데이터 저장

ROLLBACK; > 가장 최근에 COMMIT; 한 이후 적용된 DML 명령 취소하고 원위치됨

'Records > DBMS' 카테고리의 다른 글

2. DDL (Data Definition Language)  (0) 2021.01.27
1. Database 개요  (0) 2021.01.27
Comments