BackEnd/Database
[DB] SQL의 CRUD 구현 쿼리 (Feat. DML)
ryuneng
2025. 1. 20. 00:01
반응형
# 목적
: SQL의 CRUD 구현 쿼리와 사용예시 간단 정리
CRUD 란?
- Create(생성), Read(읽기), Update(갱신), Delete(삭제)의 약자
- 데이터베이스를 다루기 위한 4가지 작업
SQL의 CRUD 구현 쿼리
- SQL에서는 DML을 이용해 CRUD 작업을 구현함
- MVC패턴에서 DML을 구현하는 클래스 : DAO(Data Access Object) 클래스* DML(Data Manipulation Language, 데이터 조작 언어) - SQL 명령어
- CRUD / DML 비교
CRUD 이름 | 기능 | DML 명령어 |
---|---|---|
Create | 생성 | INSERT |
Read | 읽기 | SELECT |
Update | 갱신 | UPDATE |
Delete | 삭제 | DELETE |
SQL 주요 쿼리
1. SELECT
- 테이블의 데이터 조회
- 사용법)
-- 1. 지정된 테이블의 모든 행, 모든 열 조회
SELECT *
FROM 테이블명;
-- 2. 지정된 테이블의 모든 행, 지정된 열 조회
SELECT 컬럼명, 컬럼명, 컬럼명, ... 컬럼명
FROM 테이블명;
-- 3. SELECT절에서 사칙연산 수행 가능
-- * 사칙연산에 사용되는 컬럼은 해당 컬럼의 값이 숫자값이어야 함
SELECT 컬럼명*숫자, 컬럼명*컬럼명, ...
FROM 테이블명;
-- 4. 컬럼에 별칭(Alias) 부여하기
SELECT 컬럼명 AS 별칭, 컬럼명 AS 별칭, ...
FROM 테이블명;
SELECT 컬럼명 별칭, 컬럼명 별칭, 컬럼명 별칭, ...
FROM 테이블명;
- 사용예시)
-- 1. 직원 테이블의 모든 행, 모든 열 조회하기
SELECT *
FROM EMPLOYEES;
-- 2. 직원 테이블의 직원아이디, 직원이름, 급여 조회하기
SELECT EMPLOYEE_ID, FIRST_NAME, SALARY
FROM EMPLOYEES;
-- 3. 직원 테이블에서 직원아이디, 직원이름, 급여, 연봉 조회하기
SELECT EMPLOYEE_ID, FIRST_NAME, SALARY, SALARY*12
FROM EMPLOYEES;
-- 4. 직원 테이블에서 직원아이디, 직원이름, 급여, 연봉 조회하기
-- 연봉은 급여*12로 계산한다.
-- 연봉의 별칭 : ANNUAL_SALARY
SELECT EMPLOYEE_ID, FIRST_NAME, SALARY, SALARY*12 ANNUAL_SALARY
FROM EMPLOYEES;
2. INSERT
- 테이블에 새로운 데이터 행 추가
- 사용법)
INSERT INTO 테이블명 (컬럼명, 컬럼명, 컬럼명)
VALUES (값, 값, 값);
-- 생략된 컬럼에는 NULL 값이 저장되거나, 기본값이 저장된다.
- 사용예시)
INSERT INTO SAMPLE_BOOKS
(BOOK_NO, BOOK_TITLE, BOOK_WRITER, BOOK_PRICE)
VALUES
(10, '자바의 정석', '남궁성', 32000);
3. UPDATE
- 테이블의 데이터 변경
- 사용법)
UPDATE 테이블명
SET
컬럼명 = 변경값,
컬럼명 = 변경값,
...
[WHERE 조건식]
-- WHERE절 생략 시, 테이블의 모든 행에 대해서 지정된 컬럼의 값이 변경됨
-- WHERE절이 있는 경우, 조건식을 만족하는 행에 대해서만 지정된 컬럼의 값이 변경됨
- 사용예시)
-- 도서 테이블에서 책번호가 10인 책의 재고수량을 9권으로 변경하기
UPDATE SAMPLE_BOOKS
SET
BOOK_STOCK = 9
WHERE BOOK_NO = 10;
-- 도서 테이블에서 책번호 12인 책의 가격을 10% 할인하고, 재고수량 1 감소시키기
UPDATE SAMPLE_BOOKS
SET
BOOK_PRICE = BOOK_PRICE*0.9,
BOOK_STOCK = BOOK_STOCK -1
WHERE BOOK_NO = 12;
4. DELETE
- 테이블에 저장된 특정 데이터 행 삭제
- 사용법)
DELETE FROM 테이블명
[WHERE 조건식]
-- WHERE절 생략 시, 테이블의 모든 행이 삭제됨
-- WHERE절이 있는 경우, 조건식을 만족하는 행만 삭제됨
- 사용예시)
-- 도서 테이블에서 책번호가 10인 책 정보(행) 삭제하기
DELETE FROM SAMPLE_BOOKS
WHERE BOOK_NO = 10;
5. CREATE
- 새로운 데이터베이스 객체 생성
- 사용법)
CREATE TABLE 테이블명 (
컬럼명 데이터타입 제약조건,
컬럼명 데이터타입,
컬럼명 데이터타입(사이즈),
컬럼명 데이터타입 DEFAULT 기본값
)
- 사용예시)
CREATE TABLE SAMPLE_BOOKS (
BOOK_NO NUMBER(6) PRIMARY KEY,
BOOK_TITLE VARCHAR2(255) NOT NULL,
BOOK_WRITER VARCHAR2(255),
BOOK_PRICE NUMBER(7, 0) NOT NULL,
BOOK_STOCK NUMBER(3, 0) DEFAULT 10,
BOOK_REG_DATE DATE DEFAULT SYSDATE
);
< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/DB-SQL-CRUD-DML