Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바 람다식
- json
- 백준
- pseudo-code
- @AllArgsConstructor
- 생성자
- 백준 11660번
- select
- this
- this와 this() 차이
- 구간합
- ajax
- Bean LifecCycle
- 구간합구하기
- interrupted()
- map()
- jquery
- 상속과 참조
- InterruptException
- SQL
- 슈더코드
- MariaDB Query Log
- @NoArgsConstructor
- Java
- function test
- 백준 11659번
- 합배열
- 마리아DB 쿼리 로그
- 2차원배열 구간합
- 백준 1235번
Archives
- Today
- Total
평범한 연구소
[오라클 SQL] 데이터 조작 언어 (DML) 본문
DML (Data Manipulation Language)
- 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서, 사용자와 DBMS간의 인터페이스 제공
- SELECT, INSERT, UPDATE, DELETE, MERGE
- 응용프로그램을 통하여 사용자가 DB데이터를 실질적으로 조작할 수 있도록 하기 위해 다양한 언어에 DB기능을 추가해서 만든 언어
- ROLLBACK 가능
트랜잭션 (Transaction)
- DB의 상태를 변환시키는 하나의 논리적 기능 수행하기 위한 작업의 단위 또는 한 번에 모두 수행되어야할 일련의 연산들
- DB시스템에서 병행제어 및 회복 작업 시 처리되는 작업의 논리적 단위
- 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위
- 하나의 트랜잭션은 COMMIT 되거나 ROLLBACK 됨.
INSERT INTO ~ VALUES
INSERT INTO 테이블명 (컬럼, 컬럼) VALUES (값, 값);
INSERT INTO test1 (num,name,birth,memo)VALUES (5, '하하하', '05/05/90', '테스트'); -- 에러
-- 에러. 날짜 형식 오류
INSERT INTO test1 (num,name,birth,memo)VALUES (5, '하하하',
TO_DATE('05/05/90','MM/DD/RR'), '테스트');
-- 추가 -> num:7, name:이이이, birth:2000-09-09, reg_date:202208091544
INSERT INTO test1 (num, name, birth, reg_date)VALUES (7, '이이이',
'2000-09-09', TO_TIMESTAMP('202208091544', 'YYYYDDMMHH24MISSFF3') );
서브쿼리(subquery)를 이용한 다중 행 입력
INSERT INTO 테이블명 [( 컬럼, 컬럼 )] SELECT 문;
-- 존재하는 테이블에 서브쿼리를 이용하여 레코드 추가
INSERT INTO emp1 SELECT empNo, name, dept, pos FROM emp WHERE dept='개발부';
다중 테이블에 다중 행 추가
INSERT ALL
INTO 테이블명1 [( 컬럼, 컬럼 )] VALUES (수식1,수식2)
INTO 테이블명2 [( 컬럼, 컬럼 )] VALUES (수식1,수식2)
...
subquery;
// JAVA
INSERT ALL
INTO member1(id, pwd, name) VALUES (?,?,?)
INTO member2(id, birth, email, tel) VALUES(?,?,?,?)
SELECT * FROM dual;
INSERT ALL
INTO emp2 (empNo, name, dept, pos) VALUES (empNo, name, dept, pos)
INTO emp3 VALUES (empNo, sal, bonus)
SELECT * FROM emp WHERE dept='개발부';
특정 조건의 다중 행 추가
INSERT ALL
WHEN 조건1 THEN
INTO 테이블명1 [( 컬럼, 컬럼 )] VALUES (수식1,수식2)
WHEN 조건2 THEN
INTO 테이블명2 [( 컬럼, 컬럼 )] VALUES (수식1,수식2)
...
ELSE
INTO 테이블명n [( 컬럼, 컬럼 )] VALUES (수식1,수식2)
subquery;
SELECT ~ FROM ~
SELECT 컬럼 FROM 테이블;
SELECT 컬럼 FROM 테이블 WHERE 조건;
UPDATE ~ SET ~ WHERE
UPDATE 테이블명 SET 컬럼=값, 컬럼=값 WHERE 조건;
UPDATE 테이블명 SET 컬럼=값, 컬럼=값; -- 모든레코드 수정
DELETE FROM ~ WHERE
DELETE FROM 테이블명 WHERE 조건;
DELETE FROM 테이블명; -- 모든레코드 삭제
MERGE INTO ~ ON
MERGE INTO 대상테이블명
USING 비교할테이블 ON ( 조건 )
WHEN MATCHED THEN
UPDATE SET 컬럼=값, 컬럼=값
WHEN NOT MATCHED THEN
INSERT [ (컬럼, 컬럼) ] VALUES (값, 값)
;
'DB|SQL' 카테고리의 다른 글
[오라클 SQL] 제약조건 (constraint) (0) | 2022.08.22 |
---|---|
[오라클 SQL] 주요 데이터 사전 (0) | 2022.08.22 |
[오라클 SQL] 데이터 정의 언어 (DDL) (0) | 2022.08.18 |
[오라클 SQL] NULL 관련 함수 (0) | 2022.08.14 |
[오라클 SQL] 날짜 함수 (0) | 2022.08.14 |