Keep going
3. DML (Data Manipulation Language) 본문
데이터 다룰때 사이클 기본 : 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 |