코딩항해기
[DBMS/Oracle] 데이터 쿼리문 (DML) 기초 본문
[요약]
해당 테이블 전체 컬럼 조회 | SELECT * FROM 테이블명; |
조건에 해당하는 값 조회 | SELECT 컬럼명1, 컬럼명2 FROM 테이블명 WHERE 조건; |
정렬하여 조회 | SELECT 컬럼명 FROM 테이블명 ORDER BY 정렬기준컬럼 [ASC/DESC]; *ASC(생략가능, 오름차순) / DESC(내림차순) |
전체 컬럼 값 추가 | INSERT INTO 테이블명 VALUES (값1, 값2); |
일부 컬럼 값 추가 | INSERT INTO 테이블명 (컬럼명) VALUES (값1); |
수정 | UPDATE 테이블명 SET 컬럼명1=값1, 컬럼명2=값2 [WHERE 조건]; *조건을 넣지않으면 테이블이 가진 모든 데이터가 수정된다 |
삭제 | DELETE FROM 테이블명 [WHERE 조건]; *조건을 넣지않으면 테이블이 가진 모든 데이터가 삭제된다 |
DML이란?
Data Manipulation Language
데이터 조작 언어 · 데이터를 조작하는 쿼리문
조회(SELECT), 추가(INSERT), 수정(UPDATE), 삭제(DELETE)
총 4가지의 종류가 있다.
SELECT : 조회
SELECT [DISTINCT] 컬럼명 FROM 테이블명 [WHERE 조건] [ORDER BY 컬럼 정렬방식];
* DISTINCT : 중복값 제외
DISTINCT를 사용하면 간결하지만 temp tablespace에 임시로 저장하고 작업하는 방식이라 부하가 발생할 수도 있다.
대신 GROUP BY에 컬럼명을 명시하는 방법을 통해 중복값을 제거할 수 있다.
대괄호가 들어간 부분은 생략 가능하며, 테이블 생성 확인, 데이터 삽입 확인 등 전체 컬럼을 조회할 때는 *을 사용한다.
SELECT * FROM 테이블명;
WHERE절에는 조건을 넣어 해당하는 값을 지닌 데이터만 조회할 수 있으며, 주로 연산자가 사용된다. (+-=<> 등...)
ORDER BY절에서는 특정 컬럼들을 기준으로 정렬할 수 있으며, 정렬방식은 ASC(오름차) DESC(내림차) 방식이 있다.
ASC는 기본값으로 생략이 가능하다. 즉, ORDER BY절에 컬럼명만 작성하면 자동으로 오름차순 정렬이 된다.
DESC는 생략할 수 없으므로, 내림차순 정렬을 할 경우 반드시 작성해야한다.
INSERT : 추가
특정한 컬럼에만 값을 넣고 싶은 경우 컬럼명을 테이블명 뒤에 괄호를 열고 명시해주어야 한다.
이때 작성하는 컬럼명 순서와 값 순서가 일치해야한다.
INSERT INTO 테이블명 ( 컬럼명, .. ) VALUES (값1, 값2 ...);
컬럼명을 생략할 경우 모든 컬럼에 대한 값을 넣어주어야하며 순서는 테이블 컬럼명 순서와 동일하다.
INSERT INTO 테이블명 VALUES (값, ...);
UPDATE : 수정
UPDATE 테이블명 SET 컬럼명1 = 값1, 컬럼명2 = 값2, ... [WHERE 조건];
WHERE절은 생략이 가능한데, 생략하게 되면 테이블이 가진 모든 데이터값이 SET에 맞춰 수정된다.
WHERE절을 작성할 경우 조건에 해당하는 데이터 값만 수정된다.
DELETE : 삭제
DELETE FROM 테이블명 [WHERE 조건];
WHERE절은 생략이 가능한데, 생략하게 되면 테이블이 가진 모든 데이터값이 삭제된다.
WHERE절을 작성할 경우 조건에 해당하는 데이터 값만 삭제된다.
'DBMS > Oracle' 카테고리의 다른 글
[DBMS/Oracle] 식별자 (0) | 2024.07.08 |
---|---|
[DBMS/Oracle] 시퀀스 SEQUENCE (0) | 2024.07.07 |
[DBMS/Oracle] 무결성 (0) | 2024.06.24 |
[DBMS/Oracle] 시퀀스, 집계함수(GROUP BY, HAVING) (0) | 2024.06.21 |
[DBMS/Oracle] 테이블 쿼리문 (DDL) 기초 (0) | 2024.06.16 |