SQL 학습: 데이터 조작 언어 (DML)
데이터 조작 언어(DML)는 데이터베이스 내에서 데이터를 조작하는 데 사용되는 SQL 명령어의 집합입니다. 이번 글에서는 DML의 주요 명령어인 데이터 삽입, 데이터 조회, 조건에 따른 데이터 조회, 데이터 정렬, 데이터 갱신, 그리고 데이터 삭제에 대해 알아보겠습니다.
3.1 데이터 삽입
INSERT INTO: 데이터를 테이블에 삽입하는 명령어입니다.
VALUES (1, 'John', 'Doe', 'john.doe@example.com', '2023-01-01');
위의 명령어는 'employees' 테이블에 새로운 행을 삽입합니다.
3.2 데이터 조회
SELECT: 데이터를 조회하는 명령어입니다.
위의 명령어는 'employees' 테이블에서 'first_name'과 'last_name' 열의 데이터를 조회합니다.
SELECT * vs SELECT column_name:
'SELECT *'는 테이블의 모든 열을 조회합니다.
'SELECT column_name'은 특정 열만 조회합니다.
DISTINCT 키워드: 중복된 데이터를 제거하고 고유한 값을 조회합니다.
위의 명령어는 'employees' 테이블에서 중복된 'department_id' 값을 제거하고 고유한 값을 조회합니다.
3.3 조건에 따른 데이터 조회
WHERE 절: 특정 조건에 따라 데이터를 필터링합니다.
비교 연산자: 비교 연산자를 사용하여 조건을 지정할 수 있습니다.
SELECT * FROM employees WHERE hire_date <= '2023-01-01';
SELECT * FROM employees WHERE department_id <> 10;
논리 연산자: 논리 연산자를 사용하여 여러 조건을 결합할 수 있습니다.
SELECT * FROM employees WHERE department_id = 10 OR department_id = 20;
SELECT * FROM employees WHERE NOT department_id = 10;
BETWEEN, IN, LIKE 연산자: 특정 범위나 패턴을 사용하여 조건을 지정할 수 있습니다.
SELECT * FROM employees WHERE department_id IN (10, 20, 30);
SELECT * FROM employees WHERE email LIKE '%@example.com';
3.4 데이터 정렬
ORDER BY: 데이터를 특정 열을 기준으로 정렬합니다. 기본적으로 오름차순(ASC)으로 정렬되며, 내림차순(DESC)으로 정렬할 수도 있습니다.
SELECT * FROM employees ORDER BY salary DESC;
3.5 데이터 갱신
UPDATE: 테이블의 데이터를 갱신하는 명령어입니다.
SET salary = salary * 1.1
WHERE department_id = 10;
위의 명령어는 'department_id'가 10인 모든 직원의 'salary'를 10% 인상합니다.
SET 절: 갱신할 열과 새로운 값을 지정합니다.
WHERE 절과 함께 사용: 조건을 지정하여 특정 행만 갱신할 수 있습니다.
3.6 데이터 삭제
DELETE: 테이블에서 데이터를 삭제하는 명령어입니다.
위의 명령어는 'department_id'가 10인 모든 행을 삭제합니다.
WHERE 절과 함께 사용: 조건을 지정하여 특정 행만 삭제할 수 있습니다.
이 글에서는 데이터 조작 언어(DML)의 주요 명령어에 대해 알아보았습니다. 데이터 삽입, 조회, 조건에 따른 조회, 데이터 정렬, 데이터 갱신, 그리고 데이터 삭제 명령어를 사용하여 데이터베이스의 데이터를 효율적으로 관리할 수 있습니다. 이러한 명령어를 통해 데이터베이스에서 필요한 데이터를 삽입하고, 조회하며, 갱신하고, 삭제하는 방법을 익힐 수 있습니다. 다음 단계에서는 고급 데이터 조회 기법을 학습하여 더 복잡한 쿼리를 작성하는 방법을 알아보겠습니다. Happy Coding!
'프로그래밍 > SQL' 카테고리의 다른 글
[SQL] 6. SQL의 "데이터베이스 설계 및 정규화" (1) | 2024.07.13 |
---|---|
[SQL] 5. SQL의 "데이터 제어 언어 (DCL)" (0) | 2024.07.12 |
[SQL] 4. SQL의 "고급 데이터 조회" (0) | 2024.07.12 |
[SQL] 2. SQL의 "데이터 정의 언어 (DDL)" (0) | 2024.06.29 |
[SQL] 1. SQL의 "기본 개념" (1) | 2024.06.28 |