1. INSERT (새로운 데이터 입력하기)
1) INSERT를 사용하여 1행씩 입력하기
데이터를 입력할 때 컬럼 이름 순서대로 해당 컬럼에 넣어야 할 데이터를 알맞게 넣어야 한다.
INSERT INTO INSERT INTO table_name
VALUES ( value1, value2, ··· ) ; [ ( column1, column2, ··· ) ]
VALUES ( value1, value2, ··· ) ;
모든 컬럼에 데이터를 한번에 입력할 경우 컬럼 이름을 생략할 수 있다.
INSERT INTO table_name
VALUES ( value1, value2, ··· ) ;
데이터 중 날짜를 입력하는 경우 다음과 같은 코드를 입력한 후 컬럼에 원하는 데이터를 넣으면 된다.
ALTER SESSION SET NLS_DATEFORMAT = 'YYYY-MM-DD:HH24:MI:SS';
NULL 값을 입력하는 경우
- 자동 NULL 값 입력하기
데이터를 입력할 때 컬럼에 값을 입력하지 않으면 자동으로 NULL 값이 들어간다. - 수동 NULL 값 입력하기
입력할 데이터를 적는 부분에 NULL을 적는다.
2) INSERT와 서브 쿼리를 사용하여 여러 행 입력하기
테이블용 테이블을 생성하고 데이터를 입력을 안 한 상태로 데이터 출력 코드를 작성하면 출력할 데이터 대신 'no rows selected'라는 문구가 출력되며 출력하고자 하는 데이터가 출력되지 않는다.
서브쿼리를 사용하여 여러 데이터를 한꺼번에 입력하기
# 테이블 생성
CREATE TABLE table1 (
column1 data-type1,
column2 data-type2,
···
);
CREATE TABLE table2
AS
SELECT * FROM table1
WHERE 조건식;
# 데이터 입력
INSERT INTO table2
SELECT * FROM table1;
3) INSERT ALL을 이용한 여러 테이블에 여러 행 입력하기
# 테이블 생성
CREATE TABLE table1 (
column1 data-type1,
column2 data-type2
);
CREATE TABLE table2 (
column1 data-type1,
column2 data-type2
);
다른 테이블의 데이터를 가져와서 입력하기
INSERT ALL
WHENE column1 VALUES(column1, column2) value1 AND value2 THEN
INTO table1 VALUES(column1, column2)
다른 테이블에 동시에 같은 데이터 입력하기
INSERT ALL
INTO table1 VALUES(column1, column2)
INTO table2 VALUES(column1, column2)
SELECT column1, column2
FROM professor
WHERE 조건식;
2. UPDATE (데이터 변경하기)
테이블의 기존 데이터를 수정한다.
UPDATE table_name
SET column_name = value_addition
WHERE 조건;
3. DELETE
DELETE 문장은 데이터를 삭제하는 구문이다.
DELETE FROM table_name
WHERE 조건식;
4. MERGE
MERGE란 여러 테이블의 데이터를 합치는 병합을 의미한다.
MERGE INTO table1
USING table2
ON ( 병합-조건절 )
WHEN MATCHED THEN
UPDATE SET 업데이트-내용
DELETE WHERE 조건식
WHEN NOT MATCHED THEN
INSERT VALUES(컬럼-이름);
위의 코드에서 table1이 메인이다. Master라고도 한다. 특정 정보가 수집되면 table1에 추가할 수 있다. 이때 이것을 Marge라고 한다. 추가할 때 조건을 걸 수 있다.
5. TRANSACTION 관리하기
Transactio(트랜잭션)이란 거래라는 뜻으로, 논리적인 작업 단위, 즉 여러가지 DML 작업들을 하나의 단위로 묶어둔 것을 의미한다. 그래서 해당 트랜잭션 내에 있는 모든 DML이 성공해야 해당 트랜잭션이 성공하는 것고, 만약 1개의 DML이라도 실패하면 전체가 실패하게 된다.
거래를 하기 위해선 많은 거래 조건들이 필요하다. 그 조건들이 모두 만족되면 거래가 성립되고, 그 중 하나라도 문제가 있으면 거래가 되지 않는다. 이것이 Tranaction이다.
DML 작업을 한 후에는 반드시 COMMIt(확정)이나 ROLLBACK(취소) 명령을 수행해야 작업이 마무리된다.
'Oracle > 개념' 카테고리의 다른 글
8장. INDEX (인덱스) (1) | 2024.06.14 |
---|---|
7장. Constraint(제약조건) (0) | 2024.06.13 |
5장. DDL 명령과 딕셔너리 (0) | 2024.06.12 |
4장. JOIN (3) | 2024.06.12 |
3장. SQL 복수행 함수 (0) | 2024.06.12 |