DML
Data Manipulation Language : 데이터 조작 언어
데이터를 조작하는 쿼리
DML에는 4가지가 있다.
1. SELECT
2. INSERT
3. UPDATE
4. DELETE
📁 1. SELECT : 조회
아래와 같이 작성한다.
SELECT 컬럼명, ...
FROM 테이블명
[WHERE 조건식]
[ORDER BY 조건식]
-- [] 안의 내용은 생략 가능함
📁 2. INSERT : 추가
코드는 아래와 같이 작성한다.
(1) 원하는 컬럼만 골라서 값을 저장할 때
INSERT INTO 테이블명 (컬럼명, ...)
VALUES (값, ...)
(2) 모든 컬럼에 값을 넣을 때
INSERT INTO 테이블명
VALUES (값, ...)
-- 테이블 생성
CREATE TABLE TBL_MEMBER(
MEMBER_NAME VARCHAR2(1000),
MEMBER_AGE NUMBER
);
-- 컬럼 이름을 직접 명시한 INSERT
-- 내가 원하는 컬럼에 값만 넣을 수 있다.
-- 순서 중요!
INSERT INTO TBL_MEMBER (MEMBER_NAME, MEMBER_AGE)
VALUES ('홍싸리', 30);
INSERT INTO TBL_MEMBER (MEMBER_NAME)
VALUES ('홍길동');
컬럼명을 얼마나 작성하냐에 따라서 내가 넣고 싶은 컬럼에만 값을 넣을 수 있다.
모든 컬럼에 값을 넣고 싶을 때는 아래와 같이 작성하면 된다.
-- 모든 컬럼에 값을 넣고 싶을 때!
INSERT INTO TBL_MEMBER
VALUES ('김철수', 12);
다만, INSERT 를 작성할 때 순서를 잘 지켜야한다.
그렇지 않으면 오류가 난다.
-- 에러!!!!!!!!!!!!!!
-- 순서대로가 중요!
INSERT INTO TBL_MEMBER
VALUES (22, '김민수'); -- 처음 선언한 컬럼 성격대로 넣지 않으면 오류가 난다.
📁 3. UPDATE
아래와 같이 작성한다.
UPDATE 테이블
SET 컬럼명1 = 값1, 컬럼명2 = 값2, ...
[WHERE 조건식];
-- [] 안의 내용은 생략 가능
UPDATE를 사용할 때 WHERE, ORDER BY 등은 생략이 가능하지만
WHERE을 생략하여 작성하게 되면 아래 쿼리문처럼 모든 행의 해당 열을 전부 수정하는 문제가 발생할 수 있다.
-- UPDATE
-- 이 상태로 실행하면, 모든 행의 해당 열을 전부 수정.
UPDATE TBL_MEMBER
SET MEMBER_AGE = 49;
따라서 WHERE 을 사용해서 원하는 행의 컬럼만 수정하도록 한다.
-- WHERE 을 사용해서, 원하는 행의 컬럼만 수정 가능!
UPDATE TBL_MEMBER
SET MEMBER_AGE = 22 -- 대입연산자
WHERE MEMBER_NAME = '홍싸리';-- 비교연산자
이렇게 하면 '홍싸리' 의 나이만 22 로 수정이 된다.
📁 4. DELETE : 삭제
아래와 같이 작성한다.
DELETE
FROM 테이블명
[WHERE 조건식]
-- [] 안의 내용은 생략 가능함
WHERE 을 생략하고 DELETE 문을 작성하면 테이블 내의 모든 행을 삭제하기 때문에 주의해야한다.
-- DELETE
-- 모든 행을 삭제!
DELETE FROM TBL_MEMBER;
아래의 코드를 실행시켜보자.
그럼 MEMBER_AGE 가 49 인 데이터의 행만 삭제가 될 것이다.
DELETE FROM TBL_MEMBER
WHERE MEMBER_AGE = 49;
'📁 Language > 🛢️ SQL' 카테고리의 다른 글
[SQL] 제약 조건 (PK, FK, UK, NOT NULL, CHECK) (0) | 2024.03.21 |
---|---|
[SQL] DDL (CREATE, ALTER, DROP, TRUNCATE) (0) | 2024.03.20 |
[SQL] SQL의 종류 - SQL명령어의 성격에 따라 분류한 것들 (0) | 2024.03.20 |
[SQL] 연산자(연결, 산술, 관계, SQL, 논리), WHERE (0) | 2024.03.20 |
[SQL] SQL의 특징 및 문법 정리1 (0) | 2024.03.18 |